*如轉載請注名出處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>");
}
}
原文轉自:http://www.anti-gravitydesign.com