Servlet开发与部署:从基础到Servlet 3.0新特性
1. 重定向与请求参数丢失
点击提交按钮后,用户会被定向到其喜欢的搜索引擎。需要注意的是,这种重定向会创建一个新的HTTP请求到目标页面,因此任何请求参数和属性都会丢失。
2. 跨请求持久化应用数据
在之前的方式中,可以通过调用 HttpRequest.setAttribute() 方法将对象存储在请求中,之后通过 HttpRequest.getAttribute() 方法检索该对象。不过,这种方法仅在请求通过 getAttribute() 方法转发到Servlet时才有效,否则 getAttribute() 方法将返回 null 。
实际上,对象可以跨请求持久化。除了将对象附加到请求对象外,还可以将对象附加到会话对象或Servlet上下文。两者的区别在于,附加到会话的对象不同用户不可见,而附加到Servlet上下文的对象对所有用户可见。
- 附加对象到会话 :
要将对象附加到会话,需调用HttpServletRequest.getSession()方法,该方法返回javax.servlet.http.HttpSession实例,然后调用HttpSession.setAttribute()方法将对象附加到会话。示例代码如下:
Servlet开发与Servlet 3.0新特性解析
超级会员免费看
订阅专栏 解锁全文
1044

被折叠的 条评论
为什么被折叠?



