一. 重定向
1.定义: 重定向是服务器指导,客户端的行为 ,是最少两次请求,没有预对象不共同使用一个请求对象
2.重定向和请求转发的区别
1.重定向是客户端行为 ,请求转发是服务端跳转行为
2.重定向有最少两次请求,请求转发只有一次请求
3.重定向地址栏发生改变,请求转发不会发生改变
4.请求转发request 对象共享 ,重定向不共享
5.请求转发只能访问当前资源下的项目,重定向可以访问不同的项目(访问的地址是跟在端口下的)
二. Cookie
- Cookie 对象的创建 创建Cookie : Cookie cookie = new Cookie("key","value")
- Cookie对象的发送 发送Cookie : response.addCookie(cookie对象)
- Cookie对象的获取 获取Cookie : Cookie[] cookie = request.getCookie() --> 返回的 是Cookie数组
4. Cookie的存活时间 : Cookie的存活时间: Cookie对象.setMaxAge(int time) 设置为正整数为保存时间单位是秒 , 设置为0 是删除该Cookie , 如果是负数则是不保存该Cookie关闭浏览器后删除(默认选择)
三. session
1.创建session : HttpSession session = request.getsession --> 先判断session 是否存在 如果存在则使用session ,如果不存在则 创建新的session
2 .常用方法
获取session Id : 对象.getId
获取创建时间 : 对象.getCreationTime()
获取最后一次访问的时间: 对象 . lastAccessTime()
获取 是否是新创建的session : 对象.isNew()
获取最后一次访问的时间: 对象 . lastAccessTime()
获取 是否是新创建的session : 对象.isNew()
3. 预对象
在请求转发中 : request 和 session 都是有效的
在重定向中: request 预对象会失效 session 预对象是有效的
4. 存活时间
1. 关闭浏览器 (session底层是有 Cookie 实现的 默认关闭浏览器失效)
2、关闭服务器(非正常关闭服务器时才会销毁,session对象在服务器正常关闭时会钝化到本地磁盘中,下次启动时从本地磁盘中读取出来,在Tomcat解压包的waork目录下)
3、手动销毁(session.invalidate())
失效方法
1. 关闭浏览器 (session底层是有 Cookie 实现的 默认关闭浏览器失效)
2、关闭服务器(非正常关闭服务器时才会销毁,session对象在服务器正常关闭时会钝化到本地磁盘中,下次启动时从本地磁盘中读取出来,在Tomcat解压包的waork目录下)
3、手动销毁(session.invalidate())
4、服务器默认最大不活动时间
Tomcat的解压缩包下的conf目录下的web.xml中 默认30分钟,单位为分钟
5、手动设置最大不活动时间
通过 session.setMaxInactiveInterval(int);来设定 session 的最大不活动时间,单位为秒。
通过 getMaxInactiveInterval();方法来查看当前 Session 对象的最大不活动时间。
四. ServleContext
- 获取ServleContext方法
// 通过request对象获取
ServletContext servletContext = request.getServletContext();
// 通过session获取
ServletContext servletContext2 = request.getSession().getServletContext();
// 通过servletConfig对象
ServletContext servletContext3 = getServletConfig().getServletContext();
// 直接获取
ServletContext servletContext4 = getServletContext();
2. 常用方法
// 获取项目在服务器中的真实路径
String realPath = request.getServletContext().getRealPath("/");
// 获取服务器版本
String serverInfo = request.getServletContext().getServerInfo();