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); } }
相关文章推荐
- J2EE中Servlet实现的三种方法
- J2EE中Servlet实现的三种方法
- J2EE中Servlet实现的三种方法
- J2EE中Servlet实现的三种方法
- J2EE中Servlet实现的三种方法
- mesos 集群清理(9)
- php连接MYSQL(1)
- CodeForces 15A Elephant
- 【HDU5656】CA Loves GCD——动态规划
- Android ActivityManagerService 笔记(1)
- POJ 3734 Blocks
- hdoj 2029 Palindromes _easy version (字符串)
- 反射机制获取方法的参数类型和返回值类型
- mesos 集群基础功能测试(8)
- 2016郑州大学ACM/ICPC训练赛 C 最长匹配子串
- 异常处理
- 远程服务器返回了意外相应:(413) Request Entity Too Large。
- CodeForces 25E Test
- 国内jQuery CDN
- c++之函数特性 重载 内联 函数默认值