J2EE Servlet 知识点
来源:互联网 发布:js 消息提醒声音 编辑:程序博客网 时间:2024/05/29 16:29
1.如何获取RequestDispatcher
可以通过request或者web context获取RequestDispatcher对象,不过两个方法稍有不同。一个request可以采用相对的路径
(也就是不以"/"开头)作为参数,而web context需要的是绝对路径。
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/banner");
if (dispatcher != null)
dispatcher.include(request, response);
2.Forward(dispatcher.forward(request, response)或<jsp:forward>)发生后,如何取得之前的url的相关部分
当一个请求被forward到另一个请求后,原始的URI和其组成部分被保存为请求属性:
javax.servlet.forward.[request-uri|context-path|servlet-path|path-info|query-string]
3.Include(dispatcher.include(request, response)或<jsp:include>)发生后,如何获取被包含的页面的信息
当一个页面被包含到另个一页面中后,可以通过request.getRequestURL()获取原来的父URL,而对于被包含的页面的信息,可以通
过获取request中的下列属性获取:
javax.servlet.include.[request-uri|context-path|servlet-path|path-info|query-string]
4.session.invalidate和session.reomveAttribute区别:
removeAttribute就是从session删除指定名称的绑定对象,也就是说调用此方法后再调用getAttribute(Stringname)时,不能获取
指定名称的绑定对象,调用getAttribute方法时返回值是null,但是session还存在。invalidate就是废止此 session对象,解除与
此session对象绑定的所有对象,这个时候调用getAttribute方法会抛出“Session already invlidated!”异常。
注:Session的销毁有两种情况:超时和手动销毁,(1)tomcat可以通过在web.xml中添加如下的配置设置超时的时间
<session-config><session-timeout>30</session-timeout></session-config>;(2)手动销毁是指直接调用其invalidate方
法,此方法实际上是调用expire方法来手动将其设置为超时invalidate是使此session对象失效,调用request.getSession(false)
返回的是null;
5.HttpServletRequest.encodeURL在session跟踪中的应用
encodeURL(url)方法主要用于通过url重写的机制来实现session跟踪,它实现的逻辑如下:
(1)先判断当前的 Web 组件是否启用 Session,如果没有启用 Session,直接返回参数 url。
(2)再判断客户端浏览器是否支持 Cookie,如果支持 Cookie,直接返回参数 url;如果不支持 Cookie,就在参数 url 中加入
Session ID 信息,然后返回修改后的 url。
对于健壮的session跟踪,servlet中派发的所有的url都应该经过这个方法,否则的话,url重写机制对不支持cookie的浏览器将不能
使用;例:
如果浏览器的cookie禁用,encoded url类似:http://localhost:8080/bookstore1/cashier;jsessionid=c0o7fszeb1
如果浏览器的cookie启用,encoded url类似:http://localhost:8080/bookstore1/cashier
6.终止Servlet(TBD)
http://download.oracle.com/javaee/5/tutorial/doc/bnags.html
http://hi.baidu.com/clisdena/blog/item/0350621fb20df0cda786698e.html
- J2EE Servlet 知识点
- J2EE --- Servlet
- J2EE---Servlet
- J2EE--Servlet
- 【J2EE】servlet
- J2EE Servlet
- servlet知识点
- servlet知识点
- Servlet知识点
- servlet知识点
- Servlet知识点
- J2EE相关知识点
- J2EE基础知识点总结
- J2EE基础知识点
- [读书笔记]J2EE 基本概念 --- Servlet
- J2EE、EJB、SERVLET、JSP
- j2ee Servlet 过滤器
- android & j2EE servlet
- Fedora默认是不让root登录图形界面的
- 怎样判定应用程序自身运行在“兼容模式”下?
- 通用向上取整算法
- 如何通过VC的 CHttpFile 抓取网页内容
- EXCEL 公式使用小计 生成sql 语句 判断某一数据是否在另一列中出现
- J2EE Servlet 知识点
- HDU 1847(超短82B!全新技术大上阵!)
- http://acm.hdu.edu.cn/showproblem.php?pid=1452 因子求和
- VC小知识!
- 100%, 但是有什么意义呢?
- SQL Server 2000 数据库的恢复
- 神奇的四个字:幸亏有你
- 重复数据删除(De-duplication)技术研究
- CPaintDC、CClientDC、CWindowDC和CMetaFileDC类的主要特点及区别-Windows绘图基础知识