2018/12/07

一、转发与重定向

转发:由服务器端内部将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())

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值