在測試第二個與第三個程序時發現與書上情況不完全一樣,有兩方面情況要注意:
1 需要加上 doGet()方法
2 在地址欄中不需要輸入 coreservlets.
3 程序代碼 coreservlets.HelloServlet2.java
package coreservlets;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet2 extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String docType =
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n";
out.println(docType +
"<HTML>\n" +
"<HEAD><TITLE>Hello (2)</TITLE></HEAD>\n" +
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H1>Hello coreservlets.HelloServlet2 cuigh</H1>\n" +
new java.util.Date() +
"</BODY></HTML>");
}
/**
*特別說明:下面代碼 doPost()方法,原書代碼中無,運行環境:360瀏覽器7.1
如果不加上,會提示:
HTTP Status 404 - /HelloServlet3
type Status report
message /HelloServlet3
description The requested resource (/HelloServlet3) is not available.
Apache Tomcat/4.1.24
*/
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
this.doGet(request,response);
}
}
4 程序代碼 coreservlets.HelloServlet3.java
package coreservlets;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
/** Simple servlet for testing the use of packages
* and utilities from the same package.
* <P>
* Taken from Core Servlets and JavaServer Pages 2nd Edition
* from Prentice Hall and Sun Microsystems Press,
* http://www.coreservlets.com/.
* © 2003 Marty Hall; may be freely used or adapted.
*/
public class HelloServlet3 extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Hello (3) coreservlets.HelloServlet3 cuigh";
out.println(ServletUtilities.headWithTitle(title) +
"<BODY BGCOLOR=\"#FDF5E6\">\n" +
"<H1>" + title + "</H1>\n" +
new java.util.Date() +
"</BODY></HTML>");
}
/**
*特別說明:下面代碼 doPost()方法,原書代碼中無,運行環境:360瀏覽器7.1
如果不加上,會提示:
HTTP Status 404 - /HelloServlet3
type Status report
message /HelloServlet3
description The requested resource (/HelloServlet3) is not available.
Apache Tomcat/4.1.24
*/
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
this.doGet(request,response);
}
}
5 配置文件 web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>HelloServlet2</servlet-name>
<servlet-class>coreservlets.HelloServlet2</servlet-class>
</servlet>
<servlet>
<servlet-name>HelloServlet3</servlet-name>
<servlet-class>coreservlets.HelloServlet3</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/Helloservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HelloServlet2</servlet-name>
<url-pattern>/Helloservlet2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HelloServlet3</servlet-name>
<url-pattern>/Helloservlet3</url-pattern>
</servlet-mapping>
</web-app>
6 地址欄中輸入:
http://127.0.0.1:8080/Helloservlet
Hello Servlet! cuigh
Wed Aug 26 17:29:07 CST 2015http://127.0.0.1:8080/Helloservlet2
Hello coreservlets.HelloServlet2 cuigh
Wed Aug 26 17:34:36 CST 2015http://127.0.0.1:8080/Helloservlet3