cookie和session
重定向
操作地点:浏览器
response.sendRedirect(url);
转发
操作地点:服务器
当前请求未完成,服务器调用另一个程序继续完成整个请求
总结:
* 请求次数
* 重定向:请求2次,tomcat创建了两个request对象
* 转发:请求1次,tomcat创建了2个request对象
* request --> org.apache.catalina.connector.RequestFacade -- HttpServletRequest --ServletRequest
* request --> org.apache.catalina.core.ApplicationHttpRequest
* class ApplicationHttpRequest extends HttpServletRequestWrapper {
* public class HttpServletRequestWrapper implements HttpServletRequest {
* ApplicationHttpRequest -- HttpServletRequestWrapper -- HttpServletRequest
* 将第一个request中的内容,拷贝给第二个request。值相同
* 浏览器地址栏是否修改
* 重定向:修改,看到跳转后页面的内容
* 转发:没有修改,看到的转发后最后一个servlet响应的内容
* request设置的值,是否共享
* 重定向:数据不共享
* 转发:数据共享
cookie
将cookie设置到浏览器中
持久化cookie:使用setMaxAge方法。单位是秒。如果值为0,则会进行删除操作。持久化会生成持久化文件
没有使用setMaxAge的cookie是会话级的,浏览器一关就没了
修改路径:setPath方法
设置cookie中文:要使用url编码
cookie最大值为4KB
读取浏览器中的cookie
session
服务端创建一个内存区域,用来存放当前用户的所有信息,通过cookie关联。session必须使用cookie
session是tomcat创建的。30分钟后销毁