servlet , filter小结

本文详细介绍了Servlet的基本概念、核心API,包括Servlet、Request、Response等接口及其实现类,并讲解了Servlet的生命周期、过滤器等内容。

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()

源码来自:https://pan.quark.cn/s/a4b39357ea24 ### 操作指南:洗衣机使用方法详解#### 1. 启动与水量设定- **使用方法**:使用者必须首先按下洗衣设备上的“启动”按键,同时依据衣物数量设定相应的“水量选择”旋钮(高、中或低水量)。这一步骤是洗衣机运行程序的开端。- **运作机制**:一旦“启动”按键被触发,洗衣设备内部的控制系统便会启动,通过感应器识别水量选择旋钮的位置,进而确定所需的水量高度。- **技术执行**:在当代洗衣设备中,这一流程一般由微处理器掌管,借助电磁阀调控进水量,直至达到指定的高度。#### 2. 进水过程- **使用说明**:启动后,洗衣设备开始进水,直至达到所选的水位(高、中或低)。- **技术参数**:水量的监测通常采用浮子式水量控制器或压力感应器来实现。当水位达到预定值时,进水阀会自动关闭,停止进水。- **使用提醒**:务必确保水龙头已开启,并检查水管连接是否牢固,以防止漏水。#### 3. 清洗过程- **使用步骤**:2秒后,洗衣设备进入清洗环节。在此期间,滚筒会执行一系列正转和反转的动作: - 正转25秒 - 暂停3秒 - 反转25秒 - 再次暂停3秒- **重复次数**:这一系列动作将重复执行5次,总耗时为280秒。- **技术关键**:清洗环节通过电机驱动滚筒旋转,利用水流冲击力和洗衣液的化学效果,清除衣物上的污垢。#### 4. 排水与甩干- **使用步骤**:清洗结束后,洗衣设备会自动进行排水,将污水排出,然后进入甩干阶段,甩干时间为30秒。- **技术应用**:排水是通过泵将水抽出洗衣设备;甩干则是通过高速旋转滚筒,利用离心力去除衣物上的水分。- **使用提醒**:...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值