`

jsp 用urlrewrite 实现URL 重写

 
阅读更多
jsp 用urlrewrite 实现URL 重写
JSPWeb正则表达式XMLQQ
是否看到别人的网站网址名都不带后缀名比较酷,比如qq空间的地址,其实用urlrewrite这个包很容易就实现了。
    下面是使用说明:

1.下载urlrewrite,官方下载地址:http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip

2.解压缩文件,压缩包内文件copy到项目中(压缩包位置 -> 项目位置):

urlrewrite-2.6.0-src/webapp/WEB-INF/lib/urlrewrite-2.6.0.jar -> WebRoot/WEB-INF/lib/urlrewrite-2.6.0.jar

urlrewrite-2.6.0-src/webapp/WEB-INF/urlrewrite.xml -> WebRoot/WEB-INF/urlrewrite.xml
3.将以下代码添加到web.xml里

Java代码 
<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> 

<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>

4.修改urlrewrite.xml

Java代码 
<?xml version="1.0" encoding="utf-8"?>      
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"      
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">      
    
<!--      
    
Configuration file for UrlRewriteFilter      
http://tuckey.org/urlrewrite/      
    
-->      
<urlrewrite>      
    <rule>      
        <from>^/([a-z]+)$</from>      
        <to type= "forward" >/world.jsp?id=$1</to>      
    </rule>      
    <rule>    
        <from>^/world/(.*)$</from>    
        <to>/world.jsp?tid=$1</to>    
    </rule>    
    <rule>    
        <from>^/(.*).html$</from>    
        <to>/test1/$1.jsp</to>    
    </rule>    
         
    <outbound-rule>      
        <note>      
        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.      
        </note>      
        <from>/rewrite-status</from>      
        <to>/test/status/</to>      
    </outbound-rule>    
</urlrewrite>   

<?xml version="1.0" encoding="utf-8"?>   
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"   
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">   
 
<!--   
 
Configuration file for UrlRewriteFilter   
http://tuckey.org/urlrewrite/   
 
-->   
<urlrewrite>   
    <rule>   
        <from>^/([a-z]+)$</from>   
        <to type= "forward" >/world.jsp?id=$1</to>   
    </rule>   
    <rule> 
        <from>^/world/(.*)$</from> 
        <to>/world.jsp?tid=$1</to> 
    </rule> 
    <rule> 
        <from>^/(.*).html$</from> 
        <to>/test1/$1.jsp</to> 
    </rule> 
      
    <outbound-rule>   
        <note>   
        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.   
        </note>   
        <from>/rewrite-status</from>   
        <to>/test/status/</to>   
    </outbound-rule> 
</urlrewrite>   

rule是url重写规则,from是显示出来的地址,to是映射的实际地址,$1是重写参数,可以为多个,()里是匹配的正则表达式.
好了,在项目中新建world.jsp,启动tomcat,输入
http://localhost:8080/mysite/world/1

mysite是你的项目名

实际上访问的是http://localhost:8080/mysite/world.jsp?tid=1
这样就简单的实现了伪静态的效果



转自 http://www.iteye.com/t
分享到:
评论

相关推荐

    urlrewrite重写URL伪静态请求路径.

    标题 "urlrewrite重写URL伪静态请求路径" 涉及到的是Web开发中的一个重要概念——URL重写,这是为了优化网站的SEO(搜索引擎优化)和用户体验而进行的一种技术手段。URL重写允许我们将复杂的动态URL转换为简洁、易于...

    urlrewrite地址重写实例配置说明

    **URLRewrite地址重写**是Web开发中一个重要的技术,它主要用于优化和管理网站的URL,使得URL更友好、更具可读性,同时也能够实现动态URL到静态URL的转换,提升SEO效果。URLRewrite通常与Apache的mod_rewrite或者在...

    urlrewrite3.04的demo

    `urlrewrite`是一款优秀的Java库,专门用于处理URL重写,它使得动态网站能够展现静态化URL的效果,提升网站的专业性和可读性。`urlrewrite`框架兼容于Java Servlet容器,如Tomcat,Jetty等,广泛应用于JSP项目中。 ...

    URLRewrite配置和使用

    URLRewrite是一种URL重写技术,它可以满足搜索引擎的要求,隐藏技术实现,提高网站的移植性,并满足美感的要求。下面将详细介绍URLRewrite的配置和使用。 1. 满足搜索引擎的要求 搜索引擎对URL的要求非常严格,...

    URLrewrite-实例

    本文将深入探讨URL重写的基本概念,并以Java实现的开源库`URLrewrite`为例,详细解析其实现方式和应用场景。 首先,理解URL重写的核心概念。URL重写是服务器端的一种技术,通过HTTP服务器或应用程序动态改变请求和...

    JSP项目的URL重写

    综上所述,`urlrewritefilter`是JSP项目中实现URL重写的一个强大工具,通过合理的配置和规则设定,可以极大地改善Web应用的URL结构,提高用户体验和SEO效果。理解并熟练运用它的配置和规则,对于提升Web应用质量具有...

    Url Rewrite 实现jsp页面伪静态化_凌风_.doc

    3. **配置规则**:`urlrewrite.xml`文件中定义了URL重写的规则。例如: - **从一个文件到另一个文件的转发**:`&lt;from&gt;`和`&lt;to&gt;`元素用于指定源URL和目标URL。不使用正则表达式时,配置可能过于复杂。 - **重定向...

    java urlrewrite解决默认页问题

    为了实现URL重写功能,我们需要在`web.xml`中配置URL Rewrite Filter,并在`urlrewrite.xml`中定义重写规则。 **1. `web.xml` 配置:** ```xml &lt;filter-name&gt;UrlRewriteFilter &lt;filter-class&gt;org.tuckey.web....

    java中的url重写

    在 Java 中,有多种方式可以实现 URL 重写,包括使用 WEB 服务器自身提供的组件和使用开源项目 UrlRewrite Filter。 UrlRewrite Filter 是一个基于 Java 的开源项目,它提供了一种灵活的方式来实现 URL 重写。它...

    urlrewrite

    在Web开发中,URL重写是一种常见的技术,它能够帮助我们优化网站的URL结构,提高搜索引擎优化(SEO),以及实现更加友好的用户界面。本文将重点讲解Java环境下的URL重写工具——URLRewrite,并深入探讨其工作原理、...

    urlRewrite

    ### URL重写(UrlRewrite)技术详解 #### 一、引言 URL重写(UrlRewrite)是一种网络服务器功能,它允许开发者通过规则来转换客户端请求的URL,从而达到美化URL、增加安全性以及提高搜索引擎优化(SEO)的效果。在...

    jsp 动态转静态 URL重写

    四、jsp动态转静态URL重写实现 1. 使用Apache的mod_rewrite模块:在Apache服务器中,通过.htaccess文件配置规则,将请求的动态URL重定向到对应的静态URL。例如: ```RewriteRule ^article/(\d+).html$ article.jsp...

    urlrewrite 3.2.0 java包

    URLRewrite 是一个功能强大的URL重写和转换工具,适用于Java环境。它基于Apache的Tuckey项目,为Web应用程序提供了类似于Apache HTTP服务器的mod_rewrite模块的功能。在3.2.0这个版本中,开发者可以期待更稳定、更...

    urlrewrite静态页面的使用例子

    在本文中,我们将深入探讨如何使用`urlrewrite`框架来实现静态页面的转换,这是一个在J2EE环境中常用于URL重写和管理的工具。`urlrewrite`框架可以帮助开发者优化URL结构,使其更加用户友好,同时也便于搜索引擎优化...

    urlrewrite 支持自定义多配置文件(*通配符)

    urlrewrite 只支持单个配置文件,默认的配置文件为:/WEB-INF/urlrewrite.xml 现在对urlrewrite-3.2的源码进行了修改,使它能够支持多文件和通配符的形式加载自定义配置文件,即可以进行如下的配置: &lt;param-name&gt;...

    Struts2下使用urlReWrite的最简实例(MyEclipse工程)

    `urlRewrite`是Tuckey开源组织提供的一个URL重写过滤器,它能够帮助我们在Struts2应用中实现这个目标。 在这个最简实例中,我们将探讨如何在MyEclipse环境中集成Struts2和urlRewrite,创建一个基本的应用来演示URL...

    jsp的一个url重写

    在探讨“jsp的一个url重写”这一主题时,我们深入解析了达内郑州中心老师分享的关于URL重写的实现方式,这不仅展示了JSP技术在动态网页开发中的灵活性,也揭示了URL重写在提高用户体验、优化SEO以及简化URL结构方面...

    urlrewrite简单例子

    "urlrewrite"是一个非常实用的工具,它基于Apache服务器的URL重写模块,可以帮助开发者轻松实现动态URL到静态URL的转换。本篇文章将深入探讨如何使用urlrewrite实现动态页面静态化,并通过具体的例子来阐述这一过程...

    url rewrite filter实例

    URL重写过滤器(URL Rewrite Filter)是一种在Java Web应用程序中使用的开源工具,主要用于修改HTTP请求的URL,以便实现友好的、SEO优化的或者更安全的URL结构。这个过滤器通常与Apache Tomcat服务器和Spring MVC等...

Global site tag (gtag.js) - Google Analytics