开发servlet的三种方法

来源:互联网 发布:网络ping大包丢包 编辑:程序博客网 时间:2024/05/18 01:55

(1) 实现servlet接口

package abc;
import javax.servlet.*;
import java.io.*;
public class hello implements Servlet{
   //此函数用于初始化servlet(类似于类的构造函数)
   //此函数只会被调用一次(当用户第一次访问该servlet时被调用)
   public void init(ServletConfig arg0) throws ServletException {
         System.out.println("initit");
   }
   public ServletConfig getServletConfig() {
       return null;
   }
   //此函数用于处理业务逻辑
   //当用户每访问该servlet时,都会被调用
   //req:用于获得客户端(浏览器)的消息,res:用于向客户端返回消息
   public void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {
       //从arg0中得到PrintWriter
       System.out.println("serviceit"); //控件台
       PrintWriter pw = res.getWriter();
       pw.println("Hello world "); //页面
   }
   public String getServletInfo() {
       return null;
   }
   //销毁servlet实例(释放内存)
   // 1.reload 该serlvet(webApps) 2.关闭tomcat3.关机
   public void destroy() {
       System.out.println("destroy!");
   }
}
(2)继承GenericServlet类

package abc;
import javax.servlet.GenericServlet;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.*;

public class helloGen extends GenericServlet{
   //此函数用于处理业务逻辑
   //当用户每访问该servlet时,都会被调用
   //req:用于获得客户端(浏览器)的消息,res:用于向客户端返回消息
   public void service(ServletRequest req, ServletResponse res){
       // TODO Auto-generated method stub
      try {
           PrintWriter pw =res.getWriter();
          pw.println("hello world! generic");
       } catch (IOException e) {
          // TODO Auto-generated catchblock
          e.printStackTrace();
      }
   }
}
(3)继承HttpServlet类

//继承HttpServlet
package abc;
import javax.servlet.http.*;
import java.io.*;

public class helloHttp extends HttpServlet{
   //处理get请求
   public void doGet(HttpServletRequest req,HttpServletResponse res){
       //业务逻辑
       PrintWriter pw;
       try {
            pw =res.getWriter();
           pw.println("hello Http!");
       } catch (IOException e) {
             //TODO Auto-generated catch block
            e.printStackTrace();
       } 
   }
   //处理post请求
   public void doPost(HttpServletRequest req,HttpServletResponseres){
          this.doGet(req, res); //将get请求和post请求放在一起
    }
}

(4)Servlet配置

  <servlet>

    <servlet-name> helloworld </servlet-name>

    <servlet-class>test.hello </servlet-class>

  </servlet>

 

  <servlet-mapping>

    <servlet-name> helloworld </servlet-name>

    <url-pattern>/hello </url-pattern>

  </servlet-mapping>

(4)Servlet访问

http://localhost:8080/项目名/hello

原创粉丝点击