地址重写,主要是为了防止有些浏览器,为了提高安全性,禁止了Cookie的功能,而session的ID恰好是保存在web容器中和客户端的内存当中的。所以一旦禁用了cookie,session也会无法使用.所以url重写技术就诞生了.像以前的新浪邮箱就没有采用url地址重写,导致了禁用cookie的时候,是无法进行操作的.
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessionTest extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
HttpSession session =req.getSession(true);// true代表先从客户端获取cookie
out.flush();
out.close();
/*
* session默认,也是要把sessionID写到客户端的内存当中(内存cookie)
* 重写地址,防止禁用cookie的时候,仍然可以使用session
*/
resp.encodeURL(req.getRequestURL().toString());
//地址编码,在url中,传递中文
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode(String s ,request.getCharacterEncoding());
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
分享到:
相关推荐
session跨服务器跨域解决方案 基于memcahe的session方法重写
PHP session跨服务器跨域解决方案 基于memcahe的session方法重写
重写session机制,默认session是以临时文件形式存储在服务器,将session写入数据库,建表和注释写的都很清晰,已测试
手写hibernate的session实现简单增删改查,适合新手学习hibernate
使用filter拦截用户的请求,在filter中包装request,在request的包装类requestWrapper中,重写getSession(), 和getSession(boolean create)。自己实现httpSession,在getSession中获取cookie,从cookie中读取...
主要介绍了SpringSession 请求与响应重写的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
以非常简单的实例描述了session的两种实现方式
在众多随机验证码控件中多数不是给予session就是给予cookie的随机验证码,但都有缺陷 (1)使用session,当用户很多时,服务器负荷验证增加,(2)客户端会反复出现验证不正确的现象 使用cookie,保存在客户端又不安全 ...
主要介绍了重写 ajax 实现 session 超时跳转到登录页面实例代码,需要的朋友可以参考下
在servlet中,session是封装在javax.servlet.http.HttpSession这个接口中的,这个接口是构建在cookie或者URL重写的基础上,要得到一个HttpSession的实例,就可以通过HttpServletRequest的getSession()方法来获得
在.net中,Session的存储机制已经与Asp的存储机制不一样,虽然可以在同一个IIS下同时运行asp与aspx,但是它们之间不能传递Session。 之前大批系统应用到了asp,在升级过程中,如果完全抛弃asp来重写,一来工作量太...
// 重写ajax方法,先判断登录在执行success函数 $.ajax = function (opt) { var _success = opt && opt.success || function (a, b) { }; var _opt = $.extend(opt, { success: function (data, textStatus) { try {...
用最简单的Session方式记录用户登录状态 1.添加DefaultController控制器,重写OnActionExecuting方法,每次访问控制器前触发 public class DefaultController : Controller { protected override void ...
首先了解下session的机制 客户端(浏览器中) cookie 作为键值,...影像中 php 默认的 session 是写他自己的文件的,So,你需要同时重写。 2.两个服务端共用一套加解密方式,不过不太建议。 以上上就是本文的全部内容
我们知道,微信小程序发起的请求是通过腾讯的服务器再同意发送到我们的服务器的,而session一般是通过客户端cookie中的sessionid来识别客户端的,既然请求都是要通过腾讯的服务器发送到我们的服务器,那么我们的...
之前的学习中,在对Session校验完成登录验证时,通常使用Filter来处理,方法类似与前文的错误日志过滤,即新建Filter类继承ActionFilterAttribute类,重写OnActionExecuting方法,之后直接在需要验证的Action前加上...
我们知道,微信小程序发起的请求是通过腾讯的服务器再同意发送到我们的服务器的,而session一般是通过客户端cookie中的sessionid来识别客户端的,既然请求都是要通过腾讯的服务器发送到我们的服务器,那么我们的...
主要用于在web应用中配置,进行url的重写,美化网站链接
Magento-中文开发教程, ...如何使用和设置Cookie&Session Magento中我的账户访问权限判断 Magento时间/时区问题 重新安装 Magento 模块 Magnto获取当前店铺和店铺配置的方法 Magento如何重写或新建后台的页面
如果有助于你处理应用的数据需求,你也许需要绑定对象到Session中,你可以通过一个唯一的名字绑定任何的对象到Session中,这时,你需要使用HttpSession对象。任何绑定到Session上的对象都可以被处理同一会话的...