URL重写
来源:互联网 发布:软件腰带 编辑:程序博客网 时间:2024/05/01 21:59
我们知道session依赖Cookie,那么session为什么依赖Cookie呢?因为服务器需要在每次请求中获取sessionId,然后找到客户端的session对象。那么如果客户端浏览器关闭了Cookie呢?那么session是不是就会不存在了呢?
其实还有一种方法让服务器收到的每个请求中都带有sessioinId,那就是URL重写!在每个页面中的每个链接和表单中都添加名为jSessionId的参数,值为当前sessionid。当用户点击链接或提交表单时也服务器可以通过获取jSessionId这个参数来得到客户端的sessionId,找到sessoin对象。
index.jsp
<body>
<h1>URL重写</h1>
<a href='/day06_5/index.jsp;jsessionid=<%=session.getId() %>' >主页</a>
<form action='/day06_5/index.jsp;jsessionid=<%=session.getId() %>' method="post">
<input type="submit" value="提交"/>
</form>
</body>
也可以使用response.encodeURL()对每个请求的URL处理,这个方法会自动追加jsessionid参数,与上面我们手动添加是一样的效果。
<a href='<%=response.encodeURL("/day06_5/index.jsp") %>' >主页</a>
<form action='<%=response.encodeURL("/day06_5/index.jsp") %>' method="post">
<input type="submit" value="提交"/>
</form>
使用response.encodeURL()更加“智能”,它会判断客户端浏览器是否禁用了Cookie,如果禁用了,那么这个方法在URL后面追加jsessionid,否则不会追加。
- url重写
- URL重写
- URL重写
- Url重写
- URL重写
- url重写
- URL重写
- url重写
- URL 重写
- url重写
- URL重写
- URL重写
- url重写
- URL重写
- url 重写
- url重写
- url重写
- URL重写
- CSS3之利用选择器和content属性在页面中插入内容
- 数据库分类
- ubuntu下安装stardict
- android开发ActionBar的使用
- 命令行执行命令时报错You don't have write permissions for the /Library/***
- URL重写
- 存储过程和存储函数--14
- 玩命牛的成长记录(二十一)——分离
- RTOS内存模块分析
- 构建车联网信息服务平台
- 排序算法的比较
- node-webkit实践-一键安装
- 那些成功学和鸡汤文不会告诉你的
- bash操作