← 回到文章列表

Hello JSP Day03

1、用于禁止cookie以后,如何继续使用session (1)什么是url重写? 在要访问的组件地址后面添加sessionId。 比如,要访问 "count"这个地址,需要在"count" 后面添加上sessionId,变成 "sessionId;jsessionid=CFEF…

1、用于禁止cookie以后,如何继续使用session
(1)什么是url重写?
在要访问的组件地址后面添加sessionId。
比如,要访问 “count"这个地址,需要在"count”
后面添加上sessionId,变成
“sessionId;jsessionid=CFEFDA0BD57D9314B
4C883A056064327″。

(2)如何进行url重写
//会在url后面添加上sessionId
//链接、表单提交
a, String response.encodeURL(String url);
比如:

<form action="<%=response.encodeURL("some.do")%>">

//会在url后面添加上sessionId
//重定向
b, String response.encodeRedirectURL(String url);
比如:
response.sendRedirect(
response.encodeRedirectURL(“abc.do”));

2、过滤器
(1)过滤器是什么?
Servlet规范当中定义的一种特殊的类,
其作用是对容器的调用过程进行拦截并处理。
(2)编程
step1 写一个java类,实现Filter接口。
step2 在doFilter方法里,实现过滤的逻辑。
step3 在web.xml配置过滤器。
(3)配置初始化参数
step1 在web.xml中,使用
配置初始化参数
step2 使用FilterConfig.getInitParameter(String
paramName);获得初始化参数值。
(4)过滤器的优先级
如果有多个过滤器都满足过滤条件,此时,
过滤器按照的配置的先后
顺序来执行。
(5)过滤器的优点
a,将一些通用的处理逻辑(比如权限处理、
日志、安全、编码等等)写在过滤器类里同,
方便代码的维护。
b,可以实现代码的"可插拔性”。增加或者减少
某个模块,不会影响到整个程序的正常执行。

练习:
写一个过滤器CommentFilter2, 检查用户的留言的
长度,如果超过指定的长度(web.xml中配置),则提示
留言长度非法,否则,调用CommentServlet输出
留言信息。
3、监听器
1)什么是监听器?
servlet规范中定义的一种特殊的类,用于监听
servlet容器产生的事件并且处理。
主要是两大类事件:
a, 生命周期相关事件:
servlet容器在创建或者销毁request,
session,ServletContext这三个对象时,
产生的事件。
b,绑订事件:
当对request, session,ServletContext这三个
对象调用setAttribute,removeAttribute方法
时,产生的事件。
2)、如何写一个监听器
统计在线人数
3)、ServletContext接口
(Servlet上下文)
a, servlet容器在启动的时候,会为每一个
应用创建唯一的一个servlet上下文对象。该对象
会一直存在,除非关闭服务器。
b,作用:
作用一 绑订数据
setAttribute,getAttribute,
removeAttribute
作用二 访问全局的初始化参数
String getInitParameter(String paramName)
作用三 获得逻辑路径对应的实际的物理路径
String getRealPath(String url);
c,如何获得ServletContext?
方法一:ServletContext
GenericServlet.getServletContext()
方法二: ServletContext
Httpsession.getServletContext();
方法三: ServletContext
ServletConfig.getServletContext();
统计在线人数。

[媒体不可用]

[媒体不可用]

[媒体不可用]
课堂内容

在这里找找

输入关键词,找一篇过去的记录。