URL Rewrite的概念URL Rewrite即URL重写,就是把传入Web的请求重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如http://www.123.com/news/index.asp?id=123 使用UrlRewrite转换后可以显示为 http://www.123.com/news/123.html

URL Rewrite有什么用?1,首先是满足观感的要求。

对于追求完美主义的网站设计师,就算是网页的地址也希望看起来尽量简洁明快。形如http://www.123.com/news/index.asp?id=123 的网页地址,自然是毫无美感可言,而用UrlRewrite技术,你可以轻松把它显示为 http://www.123.com/news/123.html 。

2,其次可以隐藏网站所用的编程语言,还可以提高网站的可移植性。

当网站每个页面都挂着鲜明的.asp/.aspx/.php这种开发语言的标记,别人一眼即可看出你的网站是用什么语言做的。而且在改变网站的语言的时候,你需要改动大量的链接。而且,当一个页面修改了扩展名,它的pagerank也会随之消失,从头开始。我们可以用UrlRewrite技术隐藏我们的实现细节,这样修改移植都很方便,而且完全不损失pagerank。

3,最后也是最重要的作用,是有利于搜索引擎更好地抓取你网站的内容。

理论上,搜索引擎更喜欢静态页面形式的网页,搜索引擎对静态页面的评分一般要高于动态页面。所以,UrlRewrite可以让我们网站的网页更容易被搜索引擎所收录。

Java方面,参考使用:UrlRewriteFilter,地址:http://tuckey.org/urlrewrite/。

官方简介:A Java Web Filter for any compliant web application servers (such as Tomcat, JBoss, Jetty or Resin), which allows you to rewrite URLs before they get to your code. It is a very powerful tool just like Apache's mod_rewrite!

增加Jar包urlrewritefilter-4.0.3.jar到Lib

在web.xml增加过滤器配置

UrlRewriteFilter

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter

UrlRewriteFilter

/*

REQUEST

FORWARD

3. 增加urlrewrite.xml到你的WEB-INF,点击查看示例。这里为了示例,我写了两个功能的节点配置:<?xml  version="1.0" encoding="utf-8"?>

urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"

"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">

The rule means that requests to /test/status/ will be redirected to

/rewrite-status

the url will be rewritten.

/test/status/

%{context-path}/index.jsp

The outbound-rule specifies that when response.encodeURL is called

(if you are using JSTL c:url)

the url /rewrite-status will be rewritten to /test/status/.

The above rule and this outbound-rule means that end users should never see the

url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks

in your pages.

/rewrite-status

/test/status/

index.jsp页面内容如下:

AAAAA

Note已经说的很清楚第一个功能是转换,当请求 /test/status/ 时实际请求到的是index.jsp第二个功能是页面显示URL的转换,这里必须使用JSTL c:url,将value部分转换为指定路径,达到屏蔽URL的功能

4. 实际效果当请求 /test/status/ 时实际请求到的是index.jspindex.jsp页面实际输出HTML内容为:

AAAAA

请各位指导。

java urlrewrite post_UrlRewrite 简介与示例相关推荐

  1. 双表查询java代码_什么是JDBC?Java数据库连接性简介

    JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...

  2. java 模块化osgi_OSGi简介–模块化Java

    java 模块化osgi OSGi联盟是这种搁浅的管理机构,它始于1999年.其最初目标是为网络设备创建开放搁浅. 基于此思想,此规范也针对Java引入. Eclipse在Java中是第一个. 他们于 ...

  3. Java虚拟机JVM简介与理解(三)

    Java虚拟机JVM简介与理解(三) 问题背景 PC程序计数器 虚拟机栈 本地方法栈 堆 元空间 方法区 运行时常量池 直接内存 Lyric: 彻底把我囚禁在你的呼吸 问题背景 Java虚拟机JVM简 ...

  4. Java JSON格式简介说明

    转自: Java JSON格式简介说明 下文笔者讲述java中JSON格式的相关简介说明,如下所示: JSON简介说明 JSON(JavaScript Object Notation) 是一种轻量级的 ...

  5. tomcat基础简介与示例

    tomcat基础简介与示例 Tomcat服务器是一个免费的开放源代码的Web应用服务器.Tomcat是Apache软件基金会 的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司 ...

  6. Java时间类型转换详细代码示例

    Java时间类型转换详细代码示例 一.时间类型转换代码示例 二.时间标准简介 1.UTC(世界标准时间) 2.GMT(格林尼治平时) 3.CST(北京时间) 三.SimpleDateFormat 参数 ...

  7. Android查缺补漏(IPC篇)-- 进程间通讯之Socket简介及示例

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8425736.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...

  8. 10个Java 8 Lambda表达式经典示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表 达式,它将允许我们将行为传到函数里.在J ...

  9. python包NiBabel对医学影像文件格式进行读写:python包NiBabel简介集示例

    python包NiBabel对医学影像文件格式进行读写:python包NiBabel简介集示例 目录 python包NiBabel对医学影像文件格式进行读写:python包NiBabel简介集示例

最新文章

  1. Linux系统【三】回收子进程
  2. [html] 给“测试投影”几个字添加立体投影的效果
  3. 使用delphi 开发多层应用(十三)使用Basic4android 直接访问kbmMW server
  4. 茜在人名可以读xi吗_甘肃中专学校:初中毕业可以读大专吗?
  5. IP 、127.0.0.1、localhost 三者区别
  6. 分布式监控系统Zabbix3.2监控数据库的连接数
  7. poj Alice's Chance(最大流解题)
  8. LA 6538 Dinner Coming Soon DP
  9. [转载] python3.x总复习
  10. Linux添加浮动路由,Linux路由配置详情
  11. SpringBoot:事件的发布和监听
  12. 通达信公式大全_通达信选股器公式大全:抓牛股、抓妖股、找龙头,一应俱全...
  13. WebService 教程
  14. sonar mysql 配置_Sonar配置与使用
  15. 经验分享——家长与学校应该怎样沟通
  16. 蓝箭航天自主研发80吨液氧甲烷发动机喷管下线
  17. 电脑驱动器中出现Winretools和ESP问题
  18. Nature:我叫“P值” 这是我的故事
  19. 南京计算机图书,计算机中心附近图书馆
  20. Android中的EditText输入银行卡号四位空一格

热门文章

  1. 【面试】 瓜子二手车 Java 方向面经
  2. 华硕z97不识别m2固态_安全解决方案:华硕Z97-A主板无法识别Intel M.2 NVME SSD的解决方案...
  3. 快速傅里叶变换python_快速傅里叶变换及python代码实现
  4. 华为u8860刷机方法比较+变砖补救+rom定制与签名
  5. LM小型可编程控制器软件(基于CoDeSys)笔记二十六:plc的数据存储区(模拟量输入通道部分)
  6. 乐理matlab频率表,乐理小知识:音高与国际谱
  7. Oracle MSDAORA.1 中文乱码
  8. 日志打印输出到控制台以及文件
  9. 奇虎360选择IPO “壳概念”很受伤
  10. 打造公路“头等舱”——智能座舱与交互革命进行时 | 12月8日 TF85