开发Servlet的三种方法:
⒈实现servlet接口
//这是我的第一个Serlvet,使用实现servlet接口的方式来开发
package com.tsinghua;
import javax.servlet.*;
import java.io.*;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
public class Hello implements Servlet {
//该函数用于初始化该serlvet(类似于类的构造函数)
//该函数只会被调用一次(当用户第一次访问该servlet时被调用)
public void init(ServletConfig parm1) throws ServletException {
// TODO: Add your code here
System.out.println ("init it");
}
//
public ServletConfig getServletConfig() {
// TODO: Add your code here
return null;
}
//这个函数用于处理业务逻辑
//程序员应当把业务逻辑代码写在这里
//当用户每访问该servlet是,都会调用
//req: 用于获得客户端(浏览器)的信息
//res: 用于向客户端(浏览器)返回信息
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO: Add your code here
System.out.println ("service it");
//从res中得到PrintWriter
PrintWriter pw=res.getWriter();
pw.println("hello,world");
}
//
public String getServletInfo() {
// TODO: Add your code here
return "";
}
//销毁servlet实例(释放内存)
//1.reload 该serlvet(webApps) //2.关闭tomcat //3.关机
public void destroy() {
System.out.println ("destroy!");
// TODO: Add your code here
}
}
⒉继承GenericServlet接口
此方法重写service()方法
//这是第二种开发servlet的方法(继承GenericServlet开发)
package com.tsinghua;
import javax.servlet.GenericServlet;
import javax.servlet.*;
import java.io.*;
public class HelloGen extends GenericServlet{
//重写service方法即可
public void service (ServletRequest req,ServletResponse res){
//返回hello,world! generic
try {
PrintWriter pw=res.getWriter();
pw.println("hello,world! generic");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
⒊继承HttpServlet
此方法要重写doGet()和doPost()方法
//这是第三种开发servlet的方法(通过继承HttpServlet)
package com.tsinghua;
import javax.servlet.http.*;
import java.io.*;
import javax.servlet.*;
public class HelloHttp extends HttpServlet {
//处理get请求
//req: 用于获得客户端(浏览器)的信息
//res: 用于向客户端(浏览器)返回信息
public void doGet(HttpServletRequest req,HttpServletResponse res){
//业务逻辑
try {
PrintWriter pw=res.getWriter();
pw.println("hello,http");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
//处理post请求
//req: 用于获得客户端(浏览器)的信息
//res: 用于向客户端(浏览器)返回信息
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}