WEB开发中Servlet(JSP)常用的对象

1、ServletContext对象(Servlet上下文对象)

 

  概念:我们要知道ServletContext是什么?ServletContext可以看作一个所有用户共享的全局对象,没一个web应用程序都有与之对应的ServletContext,该应用程序下的用户共同拥有这个ServletContext。

 

  存储结构:ServletContext的存储数据的方式是:属性->值。

 

  声明周期:从web应用程序的启动到web应用程序的结束。

 

  如何使用:

     1)首先我们要先得到ServletContext:mycontext=this.getServletContext();

     2)设置属性:mycontext.setAttribute(String name,Object ob);

     3)获取属性值:mycontext.getAttribute(String name);

     4)删除属性:mycontext.removeAttribute(String name);

 

  使用注意事项:ServletContext长期存在内存中,建议不要添加过大数据。

 

  ServletContext的应用:

     比如:1)网站计数器,计算有多少个用户访问,点击量,访问量。

         2)网站在线用户的显示。

         3)聊天器的应用。

 

2、Session对象(用户会话对象)

 

  概念:session对象存在于会话范围内(即一个用户访问开始的时间到没有访问动作之后的一段时间之间)session是用于观察每个用户的操作状态,一个用户对应一个session。

 

  存储的也是:属性->值

  session存在周期:即一个用户访问开始的时间到没有访问动作之后的一段时间之间,每个用户对应一个,当用户访问开始之后服务器就为创建session对象。

 

  session的工作原理:

   1)用户首次访问到服务器时,服务器为其创建一个session对象,并为这个对象分配唯一的id,并将这个id发送到客户端并存到cookie里,这样客户端与服务器的session就成了一一对应的关系。这样客户端访问服务器时,就可以根据这个id来分辨出是那个session。

   2)当用户再次访问其它资源是,就不再为其分配session对象,直到该会话结束(用户关闭浏览器,session超时过期或手动销毁等等)。

 

  session用法:

  1)首先我们要先得到session:在jsp页面我们可以直接用session对象,也可以pageContext.getSession(),或request.getSession()

   2)设置属性:session.setAttribute(String name,Object ob);

   3)获取属性值:session.getAttribute(String name);

   4)删除属性:session.removeAttribute(String name);

   5)使session失效:session.invalidate()

   6)设置会话最大持续时间:session.setMaxInactiveInterval(int)为-1值表示无限时间。

 

  总结:我们可以通过session对象,存储关于用户的相关信息,比如用户的登陆类型,是vip还是普通用户,用户的一些常用的设置,这样可以提供用户的浏览体验。

 

3、request对象

  概念:request对象代表客户端的请求,当客户端通过http协议访问时,他的所有请求头都会存放到这个对象中。开发中通常通过这个对象获得用户的信息。

 

  request的产生:当向服务器提交信息是,则会产生request对象,服务器接收到请求了也会产生request对象。

 

  request在什么时候被销毁:如果服务器以重定向的方式返回页面时,此处的request的对象会被销毁,即使有request对象,也是新产生的。但是如果是用forward,include跳转页面时候,request还是请求时的request。这重定向和forward和include是不一样的。

  request的功能就是用来传递数据的,表单post方法的数据、浏览器类型、等等http请求头的所有数据。

 

  request的主要方法:

    1)设置属性:request.setAttribute(String name,Object ob);

     2)获取属性值:request.getAttribute(String name);

     3)获取用户请求参数:request.getParameter(String name);

    4)返回客户端的所有 Cookie 对象,结果是一个Cookie 数组:getCookies()

    5)获取客户端向服务器端传送数据所依据的协议名称 :getProtocol()

    6)获取发出请求字符串的客户端地址 :getRequestURI()

    7)获取客户端的 IP 地址 :getRemoteAddr()

    8)获取客户端的名字 :getRemoteHost()

 

4、response对象

  概念:Response对象用于动态响应客户端请求,控制发送给用户的信息,并将动态生成响应。即当用户发送请求时,服务器通过request对象接收到请求内容,并通过response想web容器发送信息。

  request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。

 

  内容:Response是服务端返还给客户机的一个响应内容对象,有:响应头,响应行,实体数据等信息。

 

  Response相关的方法:

  1)addCookie(Cookie cookie):增加返回客户机的cookie

  2)addHeader(String name,String value):增加相应的头

  3)getOutputStream():获取一个字节流,然后通过向该字节流写入数据传递的客户端,并在客户端中显示。

  4)getWriter():获取一个字符流,然后通过向该字符流写入数据传递的客户端,并在客户端中显示。

 

5、out对象

Out对象是从response中获取的,在jsp页面上,out对象用了输出数据到页面上显示。

常用的方法是out.write()

 

6.this对象

  表示当前的servlet对象实例,当我们的进入servlet对象里面进行一些操作时,可以通过this执行当前对象的动作,或访问当前对象的属性等等。

猜你喜欢

转载自season-jy.iteye.com/blog/2271589