`
kevin850115
  • 浏览: 65925 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

URL重写

    博客分类:
  • Java
阅读更多
URL重写

通常,会话管理是通过服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中来唯一标识每个用户会话。如果浏览器不支持 cookies,或者将浏览器设置为不接受 cookies,我们可以通过 URL 重写来实现会话管理。

  实质上 URL 重写是通过向 URL 连接添加参数,并把 session ID 作为值包含在连接中。然而,为使这生效,你需要为你的 servlet 响应部分的每个连接添加 session ID 。

   把 session ID 加到一个连接可以使用一对方法来简化:response.encodeURL() 使 URL 包含 session ID,如果你需要使用重定向,可以使用 response.encodeRedirectURL () 来对 URL 进行编码。

  encodeURL () 及 encodeRedirectedURL () 方法首先判断 cookies 是否被浏览器支持;如果支持,则参数 URL 被原样返回,session ID 将通过 cookies 来维持。

  来看下面的例子,两个 JSP 文件:hello1.jsp 和 hello2.jsp,及它们之间的影响。我们在 hello1.jsp 中简单的创建一个会话,并在 session 中存储一个对象实例。接着用户可以点击页面的连接到达 hello2.jsp。在 hello2.jsp 中,我们从 session 中获取原先放置的对象并显示它的内容。注意,我们在 hello1.jsp 中调用了 encodeURL() 方法来获得 hello2.jsp 的链接,使得在浏览器停用 cookies 的情况下,session ID 自动添加到 URL,hello2.jsp 仍能得到 session 对象。

  首先在启用 cookies 的情况下运行。然后关闭对 cookie 的支持,重启浏览器,再运行一次。每次你都可以看到会话管理在起作用,并能在页之间传递信息。

注意,如果你想让这个例子能在关闭了 cookies 的浏览器中工作,你的 JSP 引擎必须支持 URL 重写。


hello1.jsp


<%@ page session="true" %>
<%
Integer num = new Integer(100);
session.putValue("num",num);
String url =response.encodeURL("hello2.jsp");
%>
<a href='<%=url%>'>hello2.jsp</a>

hello2.jsp


<%@ page session="true" %>
<%
Integer i= (Integer)session.getValue("num");
out.println("Num value in session is "+i.intValue());
%>


===========================================================

我自己最后多说两句,弄了半天,它这个所谓的url重写,其实只是因为不能传递 sessionid,而使用这个方法将sessionid编码进url,以便在下一个访问的网页中能够使用session而已,并非指那个在.net中说 的url重写,.net里的那个url重写是在访问真正的网页之前,将url进行分析,然后通过服务器转发从而访问网页,但是客户端看到的则还是发出请求 时的url,但实际访问的网页是其他的url地址。
分享到:
评论

相关推荐

    asp.net c# Url重写和无扩展名Url重写

    ASP.NET C# URL重写和无扩展名URL重写是两个关键的Web开发技术,用于改进网站的用户体验和搜索引擎优化(SEO)。它们涉及到对应用程序内部请求处理的方式,使得用户可以使用更加友好、易于记忆的URL,同时保持后端...

    Url重写示例(无后缀Url重写)

    Url重写是Web开发中的一个重要概念,主要用于优化和管理网站的网址结构,使其更符合搜索引擎优化(SEO)标准,同时也可提升用户体验。无后缀Url重写是指在URL中不显示传统的文件扩展名,如.aspx、.html等,使网址看...

    C# url重写 C# url重写

    在IT行业中,URL重写是一项重要的技术,尤其是在Web开发领域,它可以帮助我们创建更美观、更易读且更友好的URL。C#是.NET框架下的主要编程语言,它提供了多种方式来实现URL重写。本篇文章将深入探讨C#中URL重写的...

    URL重写的一个例子

    URL重写是Web开发中的一种技术,主要用于优化和简化用户访问网站时的URL结构,使其更易读、更友好。这种技术通常与动态网站或基于框架的应用程序配合使用,例如ASP.NET、PHP、Java等。在本例中,我们将探讨URL重写的...

    URL重写概念和例子

    ### URL重写概念和例子 #### 一、URL重写定义与作用 **URL重写**(Uniform Resource Locator Rewriting),是指在服务器端对原始的URL请求进行转换,使其变为另一种形式,以便更好地满足网站设计的需求。这种转换既...

    IIS URL 重写模块工具

    **IIS URL重写模块工具详解** IIS(Internet Information Services)是微软公司提供的一款强大的Web服务器,广泛应用于各类网站的部署与管理。在实际应用中,为了优化网站的URL结构,提高搜索引擎优化(SEO)效果,...

    Asp.Net URL重写-URLReWrite

    ASP.NET的URL重写(URLRewrite)是一个强大的功能,它允许开发者隐藏实际的Web页面地址,提供更友好的、可读性强的URL,从而提高用户体验和搜索引擎优化(SEO)。在本文中,我们将深入探讨ASP.NET URL重写的核心概念...

    java中的url重写

    Java 中的 URL 重写 Java 中的 URL 重写是一种常用的技术,它可以将原始的 URL 转换为另一个 URL,以便达到特定的目的。例如,隐藏真实的 URL、实现 URL 的加密、实现 URL 的重定向等。在 Java 中,有多种方式可以...

    URL重写 隐藏真实的访问地址 保证网站的安全

    URL重写是Web开发中一个重要的技术,它允许开发者通过改变URL的结构,来实现对网页请求的处理,同时隐藏真实服务器路径,从而提高网站的安全性和用户体验。在本篇文章中,我们将深入探讨URL重写的基本原理、作用以及...

    URL重写URL重写

    URL重写是Web开发中的一种技术,主要用于优化和简化网站的访问URL,使其更符合用户的记忆习惯和搜索引擎的友好性。在本主题中,我们将深入探讨URL重写的概念、原理以及在实际应用中的常见方法。 一、URL重写概念 ...

    url重写工具,重写二级域名

    标题中的“url重写工具”指的是用于转换或重新映射网站URL的一种技术,它能够将不友好的、复杂的URL转化为用户友好的、简洁的形式。在.NET环境中,这通常通过使用IIS(Internet Information Services)的扩展性来...

    vs2005url重写

    在VS2005中实现URL重写是提高网站用户体验和SEO(搜索引擎优化)的关键技术之一。URL重写能够使复杂的URL变得更简洁、更易于理解和记忆,同时也能够隐藏实际的页面路径,提升安全性。本篇将深入探讨如何在VS2005中...

    URL重写URL重写URL重写

    **URL重写技术详解** URL重写是Web开发中一种重要的技术,主要用于优化网站的URL结构,使其更符合用户友好性和搜索引擎优化(SEO)的要求。简单来说,URL重写就是将用户请求的实际复杂URL转换为更加简洁、易读的...

    URL重写实例,无二级重写

    URL重写是Web开发中的一个重要概念,主要用于优化网站的URL结构,提高用户体验并有利于搜索引擎优化(SEO)。在ASP.NET环境中,Microsoft提供了URL重写模块,使得开发者能够方便地实现URL的美化和管理。本实例主要...

    JSP项目的URL重写

    **JSP项目的URL重写**是一种优化Web应用的技术,它允许我们将复杂的动态URL转换为更加友好、可读性更强的静态URL。这不仅有助于提升用户体验,也有利于搜索引擎优化(SEO)。在本项目中,我们使用了`...

    asp.net url重写 demo

    ASP.NET URL重写是Web开发中的一个重要概念,它允许开发者隐藏实际的URL路径,提供更加友好、可读性更强的URL结构,同时也可以用于优化搜索引擎优化(SEO)和提高网站性能。在这个“asp.net url重写 demo”项目中,...

    Windows IIS安装URL重写完整教程.rar

    URL重写是IIS的一项功能,它允许管理员通过自定义规则更改请求的URL,以实现SEO优化、隐藏内部路径、错误页面处理等多种目的。本教程将详细阐述如何在Windows IIS上安装并配置URL重写组件,以及解决Vue项目在IIS上...

    asp.net2.0的URL重写例子

    ASP.NET 2.0 的 URL 重写是网站优化和用户体验提升的重要技术,它允许开发者隐藏实际的 URL 结构,创建更加用户友好、搜索引擎友好的网址。URL 重写技术在 ASP.NET 中主要通过 `HttpModule` 和 `UrlRoutingModule` ...

    自己写的url重写

    URL重写是Web开发中的一种技术,主要用于优化和简化用户在浏览器中输入的网址,使其更易读、更美观。这种技术通常与服务器配置、尤其是Apache HTTP Server或IIS等Web服务器上的设置密切相关。在本案例中,"自己写的...

Global site tag (gtag.js) - Google Analytics