您的位置:首页 > 其它

J2EE中Servlet实现的三种方法

2016-04-03 14:49 337 查看

方法一:实现Servlet接口:全部都要重写方法

package com.company.project;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
* 这是我的第一个Servlet程序
*/
public class Test01 implements Servlet {

// 将servlet的实例销毁(清理内存)
// 3种情况调用这个方法:reload或者关闭tomcat或者关机
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("调用了销毁内存.");
}

@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}

// 获取信息
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}

// 初始化这个servlet,相当于类的构造函数,这个函数只含被调用一次
// 当用户第一次调用的时候调用
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("调用了servlet的初始化方法");
}

// 这个函数就是用来处理业务逻辑
// 这个函数会被调用多次,每次访问就会被调用
// req用于获得客户端的信息
// res用于客户端返回信息
// 现在开发的程序客户端都是浏览器

int i = 0;

@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// TODO Auto-generated method stub

i++;
System.out.println("第" + i + "调用了servlet的service方法");
// 如何返回到浏览器上去
PrintWriter pw = res.getWriter();
pw.print("Hello Lee.");

}

}


方法二:继承GenericServlet:重写servlet方法

package com.company.project;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class Test01 extends GenericServlet {

private static final long serialVersionUID = 6306669133189570823L;

// 重写方法
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
// 定义自己的业务逻辑
try {
// 设置显示的中文尾GBK
res.setContentType("text/html; charset=GBK");
PrintWriter pw = res.getWriter();
pw.println("这是用GenericServlet父类的方法实现servlet.");
} catch (Exception e) {
e.printStackTrace();
}

}

}


方法三:继承HttpServlet

package com.company.project;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//这是第三种开发servlet的方法

public class Test01 extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest req, HttpServletResponse res) {
// 这个方法写业务逻辑
res.setContentType("text/html; charset=GBK");
try {
PrintWriter pw = res.getWriter();
pw.print("这是第三种方法开发servlet.");
} catch (IOException e) {
e.printStackTrace();
}

}

public void doPost(HttpServletRequest req, HttpServletResponse res) {
// 这个方法就是包装
this.doGet(req, res);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: