(1)
在Java web服务器内使用url rewrite(实现url地址的伪静态化)
每个网页或请求都是一个url地址,一般,这个地址可能是.do,.page,.action之类的并加上'?'号、'&'号查询串等构成的一个长长的的url。很urgly。
一般的url----------------------------------------------------------较好的url
[url]http://www.xxx.net/user/profile.do?id=20001[/url] ====> [url]http://www.xxx.net/user/20001[/url]
[url]http://www.xxx.net/forum/board.do?name=java[/url] ====> [url]http://www.xxx.net/forum/java[/url]
[url]http://www.xxx.net/forum/thread.do?id=29923[/url] ====> [url]http://www.xxx.net/thread/29923[/url]
后者明显较为直观和漂亮。
(2)
UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Resin,Orion,Tomcat等)。其典型应用就把动态URL静态化.
使用url rewrite可以很好的改善这个状况。网站url rewrite应用是非常广泛的,良好的url设计给用户带来的非常好的体验,同时也能吸引搜索引擎的注意。
使用url rewrite好处:
避免了url中出现?&之类的符号;
而且页面伪静态化之后也增加了被搜索引擎找到的概率.
一种rewrite称为一个规则,上面的例子就是3个规则。rewrite技术可以在代理服务器实现,或者可以在tomcat之类的java web服务器实现。
(3)
使用方法:
1、下载urlrewritefilter-1.1.zip (about 500kb) ,解压缩后将文件考到相应的web-inf/lib和web-inf下。
2、配置web.xml
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
根据自己的需要,将相应目录下的url转给UrlRewriteFilter来处理。
3、配置urlwrite规则文件WEB-INF/urlrewrite.xml
[url]http://www.nihaoblog.com/content.jsp?id=1&contentid=404[/url]
静态化为:
[url]http://www.nihaoblog.com/content/1_404.html[/url]
配置如下:
<rule>
<from>/content/([0-9]+)_([0-9]+).html</from>
<to>/content.jsp?id=&1contentid=&2</to>
</rule>
实例二:
配置web.xml
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
根据自己的需要,将相应目录下的url转给UrlRewriteFilter来处理。
3、配置urlwrite规则文件WEB-INF/urlrewrite.xml
添加自己的urlwrite规则,如将
[url]http://localhost/aaa/bbb.jsp?id=99&name=abc[/url]
表现为:
[url]http://localhost/aaa/bbb/99_abc.html[/url]
配置如下:
<rule>
<from>/aaa/bbb/([0-9]+)_([a-z]+).html</from>
<to>/../aaa/bbb.jsp?id=$1&name=$2</to>
</rule>
实例三:
在web.xml配置UrlRewriteFilter:
代码
<filter>  
    <filter-name>UrlRewriteFilter</filter-name>  
    <filter-class>  
        org.tuckey.web.filters.urlrewrite.UrlRewriteFilter  
    </filter-class>  
    <init-param>  
        <param-name>logLevel</param-name>  
        <param-value>WARN</param-value>  
    </init-param>  
</filter>  
<filter-mapping>  
    <filter-name>UrlRewriteFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>  

第三步:在web-inf下新建urlrewrite.xml文件,简单填入以下内容:
代码
<?xml version="1.0" encoding="utf-8"?>  
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"  
    " [url]http://tuckey.org/res/dtds/urlrewrite3.0.dtd[/url]">  
  
<urlrewrite>  
    <rule>  
        <note>  
            - 这是一个通用请求url rewrite  
            - 将请求forword url加上“.do”的处理器上。  
            - 例:   
-   请求 http://{domain}/user/login    将被forward到 http://{domain}/user/login.do   
-   请求 http://{domain}/user/login/   将被forward到 http://{domain}/user/login.do  
-   请求 http://{domain}/user/logout/  将被forward到 http://{domain}/user/logout.do  
        </note>  
        <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?$</from>  
        <to type="forward">/$1.do</to>  
    </rule>  
</urlrewrite>  
第四步:启动web应用,将原来需要.do的请求改为去掉.do后请求,看看结果。

本文出自 51CTO.COM技术博客

url rewrite 实现url地址的伪静态化相关推荐

  1. Url Rewrite 再说Url 重写

    前几天看到园子里一篇关于 Url 重写的文章<获取ISAPI_Rewrite重写后的URL> , URL-Rewrite 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜 ...

  2. url rewrite优化url的可读性

    1.下载urlrewrite,官方下载地址:http://tuckey.org/urlrewrite/ 2.解压缩文件,将jar放入项目,并创建urlrewrite.xml: 3.将filter添加到 ...

  3. php路径伪静态化,URL地址伪静态化

    主要需要的的jar包 用的原因 把.jsp,.php页面地址进行伪静态化.让他访问的路径为.html urlrewrite.jar pom依赖配置 org.tuckey urlrewrite 2.5. ...

  4. 艾伟:重提URL Rewrite(3):在URL Rewrite后保持PostBack地址

    在进行了URL Rewrite之后,经常会遇到的问题就是页面中PostBack的目标地址并非客户端请求的地址,而是URL Rewrite之后的地址.以上一篇文章中的重写为例: <rewriter ...

  5. 重提URL Rewrite(3):在URL Rewrite后保持PostBack地址(转老赵blog)

    在进行了URL Rewrite之后,经常会遇到的问题就是页面中PostBack的目标地址并非客户端请求的地址,而是URL Rewrite之后的地址.以上一篇文章中的重写为例: <rewriter ...

  6. 大叔手记(16):分析URL Routing和URL Rewriting两者之间的不同

    前言 前面有2篇帖子提到了关于URL Routing的特性,但是发现有很多人误会URL Routing就是URl Rewriting,其实2个虽然都提供相似的功能(提高友好的URL方便搜索引起收录), ...

  7. URLRewrite实现url地址伪静态化

    一般在java项目开发中,我们采用struts或者spring作为MVC框架,这两种框架在使用上都是通过配置文件或注解或约定规则来根据url匹配到相应的java类方法,一般情况下,我们采用包名+类名+ ...

  8. jsp使用URLRewrite实现url地址伪静态化

    1.1URLRewirte的用处 1.满足搜索引擎的要求. 2.隐藏技术实现,提高网站的移植性. 3.满足美感的要求(个人感觉这个用处太牵强). 1.2项目部署 1.首先在http://tuckey. ...

  9. 【建站系列教程】6、.htaccess文件的url重写规则-网页伪静态化

    [建站系列教程]6..htaccess文件的url重写规则-网页伪静态化 如何创建.htaccess文件? .htaccess是什么 htaccess语法教程 写在前面:大家好,我是热爱编程的小泽. ...

最新文章

  1. java批量上传图片_JAVA图片批量上传JS-带预览功能
  2. java 异或_脚本语言系列之Java | Java中的运算符
  3. 文献学习(part40)--Efficient multi-modal geometric mean metric learning
  4. 手游频繁崩溃”闪退”? 从程序上找原因
  5. 实现简单的注解型MVC框架 —— 低配SpringMVC
  6. 使用Java EE 8中的反应式API加速服务
  7. python开发学习笔记之六(面向对象)
  8. php gui中文手册,git gui - [ Git中文开发手册 ] - 在线原生手册 - php中文网
  9. 一段简单的打印代码(c#)
  10. 日常踩坑:python新项目创建新的虚拟环境、pycharm无法安装install package工具、pip的缓存作用
  11. 【less-3】sqli-labs靶场第三关
  12. leetcode 859 亲密字符串
  13. 互联网项目架构经验分享
  14. HttpClient详解
  15. 99%的人不知道!收藏这些自媒体实用网站,让你月薪提高5k
  16. 第四章 MyBatis缓存和注解的使用
  17. GridView指定列求和
  18. python 山脊图_《图像处理实例》 之 寻找山脊线
  19. [架构之路-61]:目标系统 - 平台软件 - 基础中间件 - 远程过程(函数)调用RPC原理与其网络架构
  20. python实现屏幕视频录制_Python实现屏幕录制功能的代码

热门文章

  1. 字符串匹配 - Overview
  2. 【JavaSE与数据结构】栈与Stack类
  3. JDBC与ORM发展与联系 JDBC简介(九)
  4. Oracle update 更新数据语法和写法
  5. Win10 wsl-安装教程
  6. 【Oracle】关于索引的那些事
  7. 常见的几种网络Hack方式
  8. linux DRM/KMS 测试工具 modetest、kmscude、igt-gpu-tools (一)
  9. Java编程实现快速傅里叶变换FFT
  10. 力学专业做cae需要学c语言吗,CAE工程师是需要掌握力学知识到何种程度_