2013年3月23日星期六

1.Servlet的HelloWorld

  从今天开始,整理一下以前学习的J2EE知识。从JSP开始。

一.Servlet的编写
     通常,一个基于HTTP协议的Servlet程序需要继承自javax.servlet.http.HttpServlet 。譔类继承自javax.servlet.GenericServlet 。GenericServlet类实现了javax.servlet.Servlet 接口,它是一个抽象类,实现了Servlet接口的大部分功能。Servlet是与具体协议无关的Servlet接口,也是所有Servlet的老祖宗。 我们编写J2EE程序所用到的Servlet都是继承自HttpServlet。编写一个Servlet需要符合两个条件:
     1:继承HttpServlet类
     HttpServlet类继承GenericServlet抽象类。GenericServlet类没有实现service()方法。而 HttpServlet类实现了service()方法。HttpServlet根据HTTP协议的GET、POST、HEAD等不同类型的请求调用相应 的doGet、doPost、doHead等式方法。示例代码如下:
Java代码  收藏代码
  1. package com.taoistwar.jsp.servlet;  
  2.   
  3. @SuppressWarnings("serial")  
  4. public class HelloWorldServlet extends HttpServlet {  
  5.   
  6. }  
   2:处理HTTP请求,重写doGet、doPost等方法
   我们编写一个Servlet通常是为了处理HTTP请求,为了达到此目的,我们需要重写相应的方法。最常见的HTTP请求是GET和POST请求。因此,只要重写doGet和doPost方法即可。示例代码如下:
Java代码  收藏代码
  1.        @Override  
  2. protected void doGet(HttpServletRequest reques, HttpServletResponse response)  
  3.         throws ServletException, IOException {  
  4. }  
  5.   
  6. @Override  
  7. protected void doPost(HttpServletRequest reques, HttpServletResponse response)  
  8.         throws ServletException, IOException {  
  9. }  
 一个完整的Servlet程序示例代码如下:

Helloworldservlet.java代码  收藏代码
  1. package com.taoistwar.jsp.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. @SuppressWarnings("serial")  
  11. public class HelloWorldServlet extends HttpServlet {  
  12.   
  13.     @Override  
  14.     protected void doGet(HttpServletRequest reques, HttpServletResponse response)  
  15.             throws ServletException, IOException {  
  16.         this.doPost(reques, response);  
  17.     }  
  18.   
  19.     @Override  
  20.     protected void doPost(HttpServletRequest reques, HttpServletResponse response)  
  21.             throws ServletException, IOException {  
  22.         System.out.println("doPost");  
  23.         PrintWriter out = response.getWriter();  
  24.         out.println("<a href=\"http://taoistwar.iteye.com\">taoistwar</a>");  
  25.     }  
  26.   
  27. }  
  二:配置Servlet
     编写好Servlet程序后,需要配置Servlet,方可使用。需要在WEB-INF下的web.xml中配置如下代码:
Java代码  收藏代码
  1. <servlet>  
  2.     <servlet-name>HelloWorldServlet</servlet-name>  
  3.     <servlet-class>com.taoistwar.jsp.servlet.HelloWorldServlet</servlet-class>  
  4.  </servlet>  
  5.  <servlet-mapping>  
  6.     <servlet-name>HelloWorldServlet</servlet-name>  
  7.     <url-pattern>/HelloWorldServlet</url-pattern>  
  8.  </servlet-mapping>  
 注意:
      1。servlet的名字<servlet-name>除了不能在web.xml里面存在相同名称,可以起其它任意的名称。但要在标 签<servlet>和<servlet-mappin>中的<servlet-name>相同。
       2。<servlet-class>标签则不能任意起,而是要用servlet的全名即“包+类名”。
       3。<url-pattern>是指访问的路径。如果发布后的项目名为jsp,访问路径为http://127.0.0.1:8181 /jsp,则该Servlet的访问路径为http://127.0.0.1:8181/jsp/HelloWorldServlet
    至此,一个可以提供服务的Sevlet编写完成!

没有评论:

发表评论