《Servlet與JSP核心編程第二版》閱讀記錄003-第二個與第三個servlet示例程序

在測試第二個與第三個程序時發現與書上情況不完全一樣,有兩方面情況要注意:

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/.
 *  &copy; 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 2015

 http://127.0.0.1:8080/Helloservlet2

Hello coreservlets.HelloServlet2 cuigh

Wed Aug 26 17:34:36 CST 2015


http://127.0.0.1:8080/Helloservlet3


Hello (3) coreservlets.HelloServlet3 cuigh

Wed Aug 26 17:35:00 CST 2015




發佈了36 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章