Servlet chapter 2

1.会话管理技术

(1)隐藏表单

将表单内的html元素设置为hidden,不在页面上显示,然后提交

(2)URL重写

在将参数放到URL上,最后传递给服务器

格式为:http://localhost:8080/servlet?uname="string" 不能有空格

(3)Cookie

客户机在本地硬盘中保存Cookie,并和HTTP请求标头一起发送给服务器。

public String getName() 返回Cookie的名称

public void setMaxAge(int expiry) 设置客户机浏览器保留Cookie值得最大时间

public int getMaxAge() 以秒为单位返回Cookie的最长寿命

public void setValues(String values) 为Cookie 为Cookie设置新值

public String getValues() 返回Cookie的值

Cookie 是作为响应返回给客户端存储的,response.addCookie(cookie)

在使用时从,请求中取出cookie,Cookie ck[] = req.getCookies()

(4)Session

使session失效的三种方式

c1:通过提供setMaxInactiveInterval(int interval) 方法设置最大非活动时间

c2: 直接调用session.invaludate();

c3: 在部署描述符即web.xml中,部署session的生命时长

 

     30(以分钟为单位)

 

2.setSatus()

setStatus()方法在HttpServletRequest 接口中定义

使用实例:response.setStatus(HttpServletResponse.SC_GONE);

3.请求转发

javax.servlet.RequestDispatcher接口的对象可以实现请求转发

ServletContext接口提供了getRequestDispathcer(String Path) 方法返回RequestDispather 对象

(1)RequestDispacher 提供了include()方法,可以使用此方法将内容纳入其他servlet。

用法:RequestDispather rd =  getServletContext().getRequestDispather("path");

rd.include(request,response);必须以request和response作为参数

(2)forward(res,req)方法用于请求转发

4.开发线程安全的servlet

(1)init(),destroy()方法线程安全

(2)局部变量线程安全,局部变量每次调用都会有一个单独的实例

(3)请求属性线程安全

(4)只有上下文属性和会话属性线程不安全,因为随时会被修改

5.过滤器

过滤器是截取客户机和服务器之间的请求和响应的对象

javax.servlet 包的Filter接口和FilterConfig接口和FilterChain接口,用于开发过滤器,要开发过滤器需要在过滤器类中实现Filter接口,下面定义了需要重写的javax.servlet.Filter接口的各种方法

(1)public void init(FilterConfig filt_confg) throws ServletException 初始化过滤器

(2)public void doFilter(ServletRequest req,ServletResponse res,Filterchain filter_chain) 对过滤器进行逻辑操作

(3)public void destroy() 释放过滤器的资源

6.错误状态代码:

(1)信息:信息代码组表示关于收到请求且应用服务器正在处理该请求的消息

  SC_SWITCHING_PROTOCOLS:101 表示应用服务器切换了协议

  SC_CONTINUE:100 表示客户机可继续与服务器交互

(2)成功:

  SC_OK:200 表示成功接收请求

  SC_ACCEPTED:202 表示服务器已成功接收请求,并正在处理

(3)重定向:

  SC_MOVED_PERMANENTLY: 301 表明资源已永久移动

  SC_MOVED_TEMPORARY: 302 表明资源暂时移动

(4)客户端错误

  SC_BAD_REQUEST:400 客户端有语法错误

  SC_NOT_FOUND: 404 客户机请求的资源不可用

  SC_GONE:410 表明资源已不再可用

 (5)服务器错误

  500 服务器端有阻止其实现请求的错误

  501 服务器没有实现请求的功能

 

你可能感兴趣的:(期末复习)