*如转载请注名出处http://blog.csdn.net/darkula
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 class helloworldservlet extends httpservlet
{
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>");
}
}
闽公网安备 35060202000074号