关于servlet学习心得

重新构建项目在idea中可以使用:ctrl+F9快捷键

心得:

继续学习了资源共享的解决方案:

  1、HttpSession方案(会话作用域对象):

    1、实现类由服务器提供,可以把它当成是一个请求对象向服务器申请的鞋柜或者购物车

    2、与cookie不同的是:

        1.cookie存储在浏览器内,关闭浏览器就销毁,保存在客户端计算机内。

        2.HttpSession存储在服务端内,可以存储任意类型,任意数量的数据

    3、实现:

      1.请求对象申请服务器HttpSession对象:

        HttpSession session =  request.getSession();

      2.放数据

        session.setAttribute(key,value);

       //在另一个Servlet获取数据

      3.获取HttpSession对象:

        HttpSession session = request.getSession();

      4.获取数据

        Object value = session.getAttribute("key");

    4、服务器如何将用户和HttpSession结合起来:

      服务器将根据用户请求头/请求体携带的cookie参数的JSSIONID是否存在判断,若不存在,那么请求对象向服务器申请会话作用域对象HttpSession,在完成该servlet的任务后,将这                       个柜子的id使用cookie写入响应头返回给用户,下次用户进来时可以使用这个cookie调用在服务端的相应"柜子"的资源。

    5、手动设置HttpSession销毁时间单位:分钟

  

  2、HttpServletRequest接口(请求作用域对象)

    1、在同一个网站中只用一个请求协议包完成各个servlet数据共享,使用请求转发解决方案

    2、代码实现:

      上传数据:request.setAttribute(key,value);

         申请调用TwoServlet:request.getRequestDispatcher("/two").forward(request,response);

      获取Object obj = request.getAttribute("key")

 以下是关于监听器接口

   3、关于监听器接口

    1、介绍:用于监控在服务器内存的作用域对象的生命变化和作用域对象共享数据变化时刻

    2、作用域对象种类:1.ServletContext(全局作用域对象)创建ServletContext hsc = request.getServlet();

               2.HttpSession(会话作用域对象)创建HttpSession hs = request.getSession();

               3.HTTPServletRequest(请求作用域对象)创建 无 ;上传数据:request.setAttribute(key,value)

    3、对于全局作用域对象的创建和销毁时刻监听

    4、对于全局作用域对象中数据的增删改进行监听

以下是关于过滤器接口:

  4、Filter

    1、介绍:通过Filter接口实现类对在用户端申请调用资源时进行对请求协议包的拦截,检测当前请求合法性,或者对当前请求进行增强操作(例如,在浏览器用post将参数信息打包在请求                      包的请求体中发给服务器,服务器生成请求对象和响应对象后过滤器拦截,使用增强操作对所有servlet进行更改字符集操作,从而读取到正确的请求体参数信息)若不符合,可以代                        替浏览器进行响应协议包写入拒绝访问。若符合通过这个过滤器接口中传递的FilterChain对象的doFilter方法返还两个对象给服务器

      

猜你喜欢

转载自www.cnblogs.com/myjavawebStudy1/p/13399700.html
今日推荐