Servlet---详情解析(二)---继承GenericServlet和HttpServlet/适配器

来源:互联网 发布:linux tail 指定行 编辑:程序博客网 时间:2024/06/05 05:03

这一篇文章要讲的知识点都带代码的注释中了,先把代码贴上来吧:

1、继承GenericServlet的Servlet

package cn.hncu.servlets.day2;import java.io.IOException;import javax.servlet.GenericServlet;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;//以继承 GenericServlet 的方式 写 servletpublic class SecondServlet extends GenericServlet {//适配器模式的一个知识点:适配器中的init(ServletConfig config)中帮我们把它当中的config对象赋值且调用 一个空参的init()。//我们以后应该覆盖空参的init()。因为如果覆盖了这个带参数的,那么就无法实现为它的config对象赋值,//由此导致其中使用config对象的方法会出错。//其实这种方法(调用 一个空参的init()且 该参数方法中什么也没做 )也程序员之间的一种交流方式,//告诉我们要覆盖空参的方法,这样它在帮我们做完事情会调用我们的覆盖方法//  @Override//public void init(ServletConfig config) throws ServletException {////String charset = config.getInitParameter("charset");////System.out.println(charset);//System.out.println("init...."+this);//}@Overridepublic void init() throws ServletException {System.out.println("init......"+this);}@Overridepublic void service(ServletRequest req, ServletResponse res)throws ServletException, IOException {String charset=this.getInitParameter("charset");System.out.println(charset);req.setCharacterEncoding(charset);String name=req.getParameter("name");String pwd=req.getParameter("pwd");System.out.println("name="+name+",pwd="+pwd);}}

2、继承HttpServlet的Servlet

(这种方式以后用的最多)

package cn.hncu.servlets.day2;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;//注意,采用继承HttpServlet的方式写servlet,doGet和doPost这两个方法通过都要覆盖,//如果doGet方法没覆盖,有get请求时就会出现405错误,不覆盖doPost方法同理。//若以后要使用到doPut方法时,doPut同样也要覆盖public class ThirdServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {System.out.println("doGet......");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {System.out.println("doPost......");}}



0 0
原创粉丝点击