`
alvinqq
  • 浏览: 185823 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2-UrlRewriteFilter--动态URL静态化

阅读更多
web.xml中的配置:
<!-- Setting UrlRewriteFilter -->
    <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>
        <dispatcher>REQUEST</dispatcher>  
        <dispatcher>FORWARD</dispatcher> 
    </filter-mapping>
    <!-- 定义整合SiteMesh必须的ActionContextCleanUp Filter -->
    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ActionContextCleanUp
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>  
        <dispatcher>FORWARD</dispatcher> 
    </filter-mapping>
    <!-- 定义整合SiteMesh和核心 Filter -->
    <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>
            com.opensymphony.module.sitemesh.filter.PageFilter
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <!-- 定义Struts2的FilterDispathcer的Filter -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter>
    <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>


urlrewrite.xml文件配置:
<?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">
<urlrewrite>
	<rule>
        <from>^/([a-zA-Z0-9]+)$</from>
        <to type="forward">/$1.action</to>
    </rule>
    <rule>
        <from>^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$</from>
        <to type="forward">/$1.action?$2=$3</to>
    </rule>
    
    <rule>
        <from>^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9.-]+)$</from>
        <to type="forward">/$1.action?$2=$3&amp;$4=$5</to>
    </rule>
    <rule>
        <from>^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9.-]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9.-]+)$</from>
        <to type="forward">/$1.action$2=$3&amp;$4=$5&amp;$6=$7</to>
    </rule>
    <rule>
        <from>^/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9.-]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9.-]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9.-]+)$</from>
        <to type="forward">/$1.action$2=$3&amp;$4=$5&amp;$6=$7&amp;$8=$9</to>
    </rule>
</urlrewrite>


页面访问action时,将.action后缀去掉即可
jar在下面
分享到:
评论

相关推荐

    ssh2中的urlrewrite和Struts2的生成静态页面

    - **实现静态化**:为了实现Struts2页面的静态化,可以自定义一个Freemarker Result Type,该类型负责读取模板文件并填充数据模型,然后将其内容输出到文件系统中,形成静态页面。 以下是一个简单的自定义...

    urlrewritefilter-3.2.0下载

    通过使用UrlRewriteFilter,开发者可以在Struts和JSP应用中实现URL的伪静态化,即让动态页面的URL看起来像静态页面的URL,这对于SEO尤其有利,因为搜索引擎更容易抓取和理解静态化的URL。 标签"struts伪静态"意味着...

    urlrewritefilter实现伪静态

    在Web开发中,为了提高用户体验和搜索引擎优化(SEO),我们常常需要将动态URL转化为看似静态的格式,这就是所谓的“伪静态”。URLRewriteFilter是一个非常实用的开源工具,它基于Apache的Tuckey项目,专门用于处理...

    urlrewritefilter-4.0.3.jar

    - `UrlRewriteFilter`可以与Spring MVC、Struts2等框架无缝集成,实现框架内URL的重写。 - 结合CDN(内容分发网络)使用,优化全球用户的访问体验。 总之,`UrlRewriteFilter-4.0.3.jar`是一个强大的URL管理工具...

    urlrewritefilter-2.6.0-src

    URLRewriteFilter是一款非常流行的开源HTTP重写过滤器,广泛应用于Java Web开发中,它主要用于处理和重写URL,帮助开发者实现动态到静态URL的转换、URL参数的隐藏、会话ID管理等多种功能。在2.6.0版本中,这个工具...

    struts2 路径问题

    Struts2可以与Apache的mod_rewrite或Tuckey的URLRewriteFilter配合,实现更友好的URL。配置不当可能导致重写规则失效或产生新的路径问题。 8. **部署配置**:在多模块项目中,路径问题可能源于war文件的部署位置,...

    伪静态URLRewrite实例解析

    通过将动态URL转换为类似静态网页的URL格式,不仅能让用户感觉更友好,还能提升网站的整体形象。 伪静态URLRewrite技术是实现这一目标的重要手段之一。它主要通过服务器端或应用层面的规则设置,来改变URL的表现...

    java伪静态URL重写的方法

    下面是一个基于Struts2框架实现伪静态URL重写的详细步骤: 1. **创建项目并引入依赖**:首先,创建一个新的Java Web工程,并导入Struts2框架所需的所有JAR包,包括UrlReswriter.jar。 2. **配置URL重写规则**:...

    urlrewrite静态页面的使用例子

    5. **SEO优化**:静态化的URL对于SEO非常重要,因为搜索引擎更容易理解和索引具有明确意义的URL。通过`urlrewrite`,你可以创建友好的URL,比如`/category/product-name.html`,而不是`/product?id=123`,从而提高...

    struts 2整合urlwrite 4 demo

    通过这个整合,Struts 2应用不仅能够利用URLWrite 4的重写功能来改善URL结构,还可以结合Struts 2的拦截器和Action机制,实现更灵活的路由和控制逻辑。同时,这也有助于提高SEO,因为搜索引擎更喜欢静态、有意义的...

    Url Rewrite Filter实现页面伪静态化,简单实例及步骤

    ### Url Rewrite Filter 实现页面伪静态化:详细步骤与实例解析 #### 一、引言 在现代Web开发中,为了提升用户体验、提高搜索引擎友好度以及优化网站结构,页面伪静态化成为了一种常见的技术手段。本文将详细介绍...

    jsp URLRewirte地址静态化

    JSP URLRewrite地址静态化是一个重要的Web开发技巧,通过使用`URLRewriteFilter`工具,我们可以实现动态URL的静态化展示,进而提升网站的SEO效果和用户体验。正确配置和使用该工具,对于提升网站的整体质量有着积极...

    伪静态_URLRewrite实例解析

    【伪静态_URLRewrite实例解析】中的主要知识点集中在如何通过URLRewrite技术实现网页的伪静态化,这对于SEO(搜索引擎优化)和用户体验都有积极影响。下面将详细解释这个过程: 1. **什么是伪静态**: 伪静态是一...

    jsp伪静态,javaweb实现伪静态

    在Java Web开发中,"伪静态"是一种技术手段,它主要用来解决动态URL对搜索引擎不友好,以及提高网站性能的问题。动态URL往往包含各种参数,而静态URL则更易于理解和爬取。伪静态就是将动态页面通过技术手段转换成...

    javaweb伪静态

    1. URL重写:使用Apache的mod_rewrite模块或Tomcat的URLRewriteFilter,通过配置规则将动态URL转换为静态化的形式。例如,将`/news?id=123`转换为`/news/123.html`。 2. Servlet拦截:创建一个Servlet拦截所有请求...

    URLrewrite-实例

    这一过程可以实现诸如隐藏真实路径、美化URL、实现动态到静态的转换等目标,对提升网站的用户体验和搜索引擎排名有显著帮助。 `URLrewrite`是一个基于Java的开源过滤器,它实现了Apache的mod_rewrite功能,广泛应用...

    Struts1 ULR重写

    总的来说,"Struts1 URL重写"是一个提高Web应用用户体验和SEO的重要技术,通过自定义过滤器或使用第三方库,我们可以将复杂的动态URL转化为简洁的伪静态URL。"URLFilter.java"文件就是这一过程中的核心实现,它的...

    ss3ex中使用UrlRewrite

    规则通常包括匹配模式、条件、动作等元素,如将动态URL转换为静态形式,或者隐藏某些参数。 2. **Filter配置**:在Java Web应用中,`UrlRewrite`通常通过一个Filter实现,如`Tuckey's UrlRewriteFilter`。`web.xml`...

    urlrewrite的简单搭建

    标题 "urlrewrite的简单搭建" 涉及到的知识点主要集中在使用URL重写工具 `UrlRewriteFilter` 上,这是一个基于Java的开源过滤器,用于处理和重写HTTP请求的URL,通常与Web应用程序(如Spring MVC或Struts)一起使用...

    Java WEB实现URL重写

    3. **使用框架支持**:许多现代的Java Web框架如Spring MVC、Struts2等都提供了内置的URL重写机制。比如Spring MVC可以通过`@RequestMapping`注解和`HandlerMapping`接口来实现友好的URL设计。 ```java @Controller...

Global site tag (gtag.js) - Google Analytics