编写servlet有3中方法
第1种方法通过implements Servlet接口来实现的,此种方法需要重写4个方法
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{
//@throws ServletException
//该init函数用于初始化该servlet(类似于java类的构造//函数)
//该init函数只会被调用一次,当用户第一次访问的时候调用
public void init(ServletConfig parm1) throws ServletException {
System.out.print("init hello");
}
/**
*用来获得servlet配置文件
*/
public ServletConfig getServletConfig() {
return null;
}
/**
* @throws ServletException
*@throws IOException
*该service方法用于处理业务逻辑
*程序员应当把代码写在这里
*当用户每次访问该servlet时,该方法都会被调用
*ServletRequest对象 req用于获得客户端(浏览器)信息
*ServletResponse 对象res用于向客户端(浏览器)返回信*息
*/
public void service
(ServletRequest req, ServletResponse res) throws ServletException, IOException {
//System.out.println()方法用于向控制台输出
System.out.println("service method");
//PrintWriter对象用于向浏览器输出
PrintWriter pw=res.getWriter();
pw.println("hello servlet");
}
public String getServletInfo() {
return "";
}
/**
*销毁servlet对象(释放内存)
*下面3种情况会调用该方法
*1.reload 该servlet 所在的web应用
*2.关闭servlet服务器(tomcat)
*3.关机
*/
public void destroy() {
System.out.println("destroy!");
}
}
这是第2种编写servlet的方法,通过extends GenericServlet类来实现,只需重写service方法,在方法体内对代码进行try-catch异常处理
package com.tsinghua;
import javax.servlet.*;
import java.io.*;
public class HelloGenericServlet extends GenericServlet{
public void service (ServletRequest req,ServletResponse res){
try{
PrintWriter pw=res.getWriter();
pw.println("hello generic servlet!");
}catch(Exception e){
e.printStackTrace();
}
}
}
这是第3种编写servlet的方法,通过extends HttpServlet类来实现,一般需重写doPost方法和doGet方法,在方法体内对代码进行try-catch异常处理
package com.tsinghua;
import javax.servlet.http.*;
import java.io.*;
public class HelloHttpServlet extends HttpServlet{
public void doPost(HttpServletRequest req,HttpServletResponse res){
try{
PrintWriter pw=res.getWriter();
pw.println("hello Http Servlet!");
}catch(Exception e){
e.printStackTrace();
}
}
public void doGet(HttpServletRequest req,HttpServletResponse res){
this.doPost(req,res);
}
}