servlet , filter小结

1.相关API

1.1 Servlet

javax.servlet.Servlet   接口

      init(); service(); destroy();  getServletConfig();  getServletInfo();

 

javax.servlet.GenericServlet   抽象类

      重写接口Servlet方法并完成多数方法

      添加init(no args); getInitParameter();  getInitParameterName();  getServletContext();  log()x2; 

 

javax.servlet.http.HttpServlet   抽象类

      重写service,增加HttServletReq/response参数的方法

      添加除connect外的7个http方法doXxx(); getLastModified();

 

1.2 Request

javax.servlet.ServletRequest   接口

     获取request信息,操作Attribute,获取Paratmeter,等等

javax.servlet.http.HttpServletRequest   接口

     增加getContextPath(); getCookies();  getSession(); getHeader(); getInputStream()等等 与httpServlet相关信息

 

1.3 Response

javax.servlet.ServletResponse   接口

      getContentType(); getOutStream(); getWriter(); setContentType();

javax.servlet.http.HttpServletResponse   接口

      addHeader();setHeader(); addCookie(); sendRedirect();

caution: 切记

   ServletOutputStream a =  response.getOutputStream(); a. write(xx);
   PrintWriter b =   response.getWriter(); b.println(xx);

 

1.3.1重定向:

   response.sendRedirect(“http://www.oreilly.com”);

       caution: 不可输出后再重定向

   RequestDispatcher view =  request.getRequestDispatcher(“result.jsp”);
   view.forward(request,response);

 

1.4  javax.servlet.ServletContext 接口

    get/set/removeAttribute(); getInitParameter();

    getMajorVersion();getServerInfo();

    getRealPath();getResourceAsStream(); getRequestDispatcher();

 

1.5 javax.servlet.ServletContextListener  接口 

    contextInitalized( ServletContextEvent )             --> ServletContextEvent 可调用getServletContext()

    contextDestroyed( ServletContextEvent )

 

   1.5.1 其他listener

     javax.servlet.ServletContextAttributeListener         attributeAdded/Removed/Replaced()

     javax.servlet.ServletContextListener                        contextInitialized/contextDestroyed()

    

     javax.servlet.http.HttpSessionAttributeListener       attributeAdded/Removed/Replaced()

     javax.servlet.http.HttpSessionListener                      sessionCreated/sessionDestroyed()

     javax.servlet.http.HttpSessionBindingListener         valueBound/Unbound()

     javax.servlet.http.HttpSessionActivationListener     sessionDidActivate/sessionWillPassivate

 

     javax.servlet.ServletRequestAttributeListener         attributeAdded/Removed/Replaced()

     javax.servlet.ServletRequestListener                        requestInitialized/requestDestroyed()

 

1.6   session

       isNew()                                         caution:当客户端没开启cookie时永返回真

       getSession()                                 如果已有session则返回当前HttpSession,否则新建一个并返回

     getSession(false)                         如果已有session则返回当前HttpSession,否则返回null

 

   1.6.1 session销毁

     getCreateTime(); getLastAccessedTime();  get/setMaxInactiveInterval([单位秒]);  invalidate();

  

   session.setMaxInactiveInterval(0);   则马上过期

   cookie.setMaxAge(-1)表示浏览器退出时cookie就会消失。
   而session.setMaxInactiveInterval(负数)表示session永远不会到期

 

1.7  cookie

   get/setValue(), getName(), getPath(),setMaxAge();

     

 

 

2.Servlet生命周期

2.1 装载类

2.2 构造类

2.3 初始化类

      在init之前处于不确定状态

      init之后可获取类

            ServletConfig (1 per Servlet) 可以:1.获取ServletContext 2. 获取servlet运行参数

                  ps: 在DD中配置初始参数

            ServletContext (1 per App) 可以:1.数据暂存以共享数据 2.获取container信息

                  ps: 在DD中配置参数

2.4 调用类服务

 

caution: 每个request访问都在一个单独的servlet线程中,但只有一个servlet实例提供服务

 

2.5 销毁

 


 

3. filter

3.1 api:

init(FilterConfig) ; doFilter(ServletRequest, ServletResponse, FilterChain); destroy()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值