*如转载请注名出处http://blog.csdn.net/darkula public class HelloWorldServlet extends HttpServlet
TOMCAT版本:
4.1.31/5.0.28
设置虚拟路径:
<Context path="/example" docBase="E:\Project\java\" debug="0" reloadable="true"/>
path:定义在地址栏里的附加虚拟名字,例如按上面配置好后输入http://127.0.0.1/example即可自动访问到你E:\Project\java\下的project(docBase为项目实际所在路径),他会自动在该目录下寻找名称为index,扩展名为.jsp/.htm/.html等扩展名的文件,默认其为首页。
如果想更改TOMCAT默认的目录,则将下面appBase的值改为你的实际路径即可
<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
这样就可以通过http://localhost或者http://127.0.0.1直接访问了。
设置server端口:
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="80"...../>
将port后的值改为你想要的端口即可,80为默认的HTTP服务端口,如改为其他端口,用户在访问时则需要在访问地址后加上指定端口
example:
80 port: http://127.0.0.1/example
8080 port: http://127.0.0.1:8080/example
设置project下的web.xml:
很多人直接把TOMCAT下的WEB-INF里的web.xml直接贴过来,这样也可以启动,但会报错,注意TOMCAT下的web.xml:<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
解决方法就是让你的WEB-INF下的web.xml变的整洁些:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>MyProject</display-name>
</web-app>
这样就可以了。
关于不同版本TOMCAT下设置Servlet:
先将你自己的servlet.class复制到你自己项目的WEB-INF\classes下
然后在TOMCAT的web.xml里:
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
如果这段被注释了,去掉就可以了
----------------------------------------------------
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
这段TOMCAT 4.1.31以前的版本需要自己加入,4.1.31和5系列的TOMCAT只要去掉这段的注释就可以了。
另外,设置完TOMCAT的web.xml后,还需要回到你自己项目路径下设置web.xml,内容如下:
<web-app>
<servlet>
<servlet-name>firstServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
</web-app>
然后在地址里输入: http://127.0.0.1/example/servlet/firstServlet
这样就可以访问到你自己的Servlet了
HelloWorldServlet.java
--------------------------
import javax.servlet.*;
import javax.servlet.http.*;
{
public void service (HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head>");
pw.println("</head>");
pw.println("<body>");
pw.println("<h1>hello!</h1>");
pw.println("</body>");
pw.println("</html>");
}
}