码迷,mamicode.com
首页 > Web开发 > 详细

黑马day05 URL重写

时间:2015-06-20 09:17:16      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:url重写

介绍:

URL重写的技术出现是因为:有的用户他把设置自己的浏览器的Cookie为禁用,这样的话Session就失效了。因此出现了URL重写技术。

原理:

就是在超链接上加上JESSIONID参数(可以通过查看源代码看得出来),以实现Session的功能。

使禁用Cookie的浏览器也可以使用session:由于session是基于cookie运行的,如果禁用了cookie则会导致session不可用,我们可以将提供给这种浏览器的所有的URL进行重写,在所有的URL后跟上JSEESIONID,从而保证即使禁用了Cookie也能以URL的形式带回JSESSIONID,从而可以使用session。要重写所有的URL是一项成本很高的工作,一般我们不会这么做。
response. encodeRedirectURL(java.lang.String?url)如果此url是作为重定向操作的地址时使用此方法
response. encodeURL(java.lang.String?url)如果此url是普通连接则使用此方法

同上一个实现购买的例子。我们只要修改jsp的代码.

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<span style="font-family:Courier New;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  
    
    <title></title>
    
	<meta http-equiv=" pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	
  </head>
  
  <body>
  	<%
  	String url1=request.getContextPath()+"/servlet/BuyServlet?prod=冰箱";
  	response.encodeURL(url1);
  	String url2=request.getContextPath()+"/servlet/BuyServlet?prod=空调";
  	response.encodeURL(url2);
  	String url3=request.getContextPath()+"/servlet/PayServlet";
  	response.encodeURL(url3);
  	 %>
    <a href="<%= url1 %>">购买冰箱</a>
    <a href="<%= url2 %>">购买空调</a>
    <a href="<%= url3 %>">付账</a>
  </body>
</html></span>


黑马day05 URL重写

标签:url重写

原文地址:http://blog.csdn.net/u014010769/article/details/46564867

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!