一、转发与重定向

转发:由服务器端内部将request和response发送至另一个servlet
request.getRequestDispatcher("/second").forward(request,response);
重定向:服务器端返回302状态码及新的location,客户端重新发送http请求至新的location
response.sendRedirect("/second");
转发不会丢失信息,只能请求同一个web应用中的组件
重定向做了两次访问请求,可以访问其他站点的组件
使用转发:
1、有中间数据需要处理时
2、隐藏真实请求url(异常跳转)
使用重定向:
1、跳转至另一个web站点资源
2、阻止重新加载(刷新)时重复调用(超时登录)
二、获取request中所有对象名
Enumeration<String> paramerterNames = request.getParameterNames();
String paramerterName = null;
while (paramerterNames.hasMoreElements()) {
paramerterName = (String) paramerterNames.nextElement();
}
三、cookie
Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息,Cookie 通常设置在 HTTP 头信息中
- 服务器脚本向浏览器发送一组 Cookie。例如:姓名、年龄或识别号码等。
- 浏览器将这些信息存储在本地计算机上,以备将来使用。
- 当下一次浏览器向 Web 服务器发送任何请求时,浏览器会把这些 Cookie 信息发送到服务器,服务器将使用这些信息来识别用户。
如果浏览器被配置为存储 Cookie,它将会保留此信息直到到期日期。如果用户的浏览器指向任何匹配该 Cookie 的路径和域的页面,它会重新发送 Cookie 到服务器
//创建cookie对象
Cookie cookie = new Cookie("key","value");
//设置最大生存周期
cookie.setMaxAge(60*60*24);
//发送cookie到http响应头
response.addCookie(cookie);
//读取cookie
Cookie[] cookies=request.getCookies();
四、session
Servlet 容器使用这个接口来创建一个 HTTP 客户端和 HTTP 服务器之间的 session 会话。
会话持续一个指定的时间段,跨多个连接或页面请求。
你需要在向客户端发送任何文档内容之前调用 request.getSession()。
用处:常用于web开发中的登录验证界面(当用户登陆成功后浏览器分配其中一个Session键值对)。
//获得/创建session
HttpSession session = request.getSession(true);
//获得创建时间
Date createTime = new Date(session.getCreationTime());
//检查是否有新的访问者
if(session.isNew())
535

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



