Servlet相关对象

1、servletconfig、servletContext、Request、Response、session、cookie;

2、servletConfig对象

  在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。

  当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

  在实际开发中,有一些东西不适合在servlet程序中写死,这类数据就可以通过配置方式配给servlet,例如servlet采用哪个码表、servlet连接那个库、servlet那个配置文件等;

3、ServletContext

  WEB容器在启动时,他会为每个WEB应用程序都创建一个对应的ServletContext对象,他代表当前web应用。

  ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。

  由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。

  

  应用:

    获取WEB应用的初始化参数。web.xml中<context-param>

    实现Servlet的转发。

    利用ServletContext对象读取资源文件。

4、Request和Response

  略,可以通过javax源码及http协议了解

5、Cookie和Session

  Cookie是客户端技术,程序把每个用户的数据以cookie的形式写个用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了

  public Cookie(String name,String value):Cookie构造函数

  setMaxAge与getMaxAge:如果构造cookie时没有设置MaxAge,则该cookie的存在时间为浏览器进程的存在时间。即浏览器进程关闭,则该cookie失效;cookie的初始MaxAge由web容器设置。

  Cookie使用流程:

  创建cookie—>cookie.setMaxAge/cookie.setPath()—>response.addCookie()—>返回cookie给浏览器;

  浏览器再次访问该站点时携带此Cookie;

  Cookie细节:

    一个Cookie只能标示一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。

    一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。

    浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。

    如果创建了一个cookie,并将他发送到浏览器,默认情况下他是一个回话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。//这段话说明服务器创建cookie时默认不设置MaxAge;若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间,将最大时效设为0则是命令浏览器删除该cookie。

    注意,删除cookie是,path必须一直,否则不会删除

  Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其他web资源时,其他web资源zai从用户各自的session中去除数据为用户服务。

  Session其他:略

posted on 2018-02-20 18:51  songpan  阅读(160)  评论(0编辑  收藏  举报

导航