`
忧里修斯
  • 浏览: 436932 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts2+urlrewrite

    博客分类:
  • SSH
阅读更多

刚开始学习urlrewrite filter,碰到一些问题,我希望在工程中不在浏览器中显示出action?XX=XX这样的url,一律都改成xxx/xxx这样的形式,在顺的时候算成功了,把/工程名/XXX映射成了login.action?aaa=XXX这样的形式,可是不能用forward的形式只能用redirect,改成forward以后明明/工程名/login.action有的,结果会报404找不到,如果改成/工程名/XXX.jsp却可以被访问到,因为我使用了struts2,心里在想是不是直接forward过去了而login.action没有被拦截到所以会说找不到,可是看网上很多例子里面也有XXX.do的这样形式,是不是在web.xml中过滤器的顺序有什么讲究呢?一直没有弄清在from和to里的默认路径,在from里如果直接用/就是在工程下,不用再加工程名了,可是在to里,如果用redirect就是要加上/工程名,而用forward却不用,否则会显示出两个工程名来,现在把配置文件贴一下:
<rule>
<from>^/(\w+)$</from>
<to >/Login.action?username=$1</to>
</rule>
这样是会报找不到的,如果将to改写成这样
<to type="redirect">/工程名/Login.action?username=$1</to>
这样就是可以访问的,红色的是改动的地方,如果我要使用forward有办法吗?

 

 

解决办法:

在web.xml中配置struts2和urlrewrite时,加上

 

<dispatcher>REQUEST</dispatcher>  
<dispatcher>FORWARD</dispatcher>

 

最后代码片段为:

 

<filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher> 
        <dispatcher>FORWARD</dispatcher>
 </filter-mapping>

 

<filter-mapping>
  <filter-name>Struts2</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>    
        <dispatcher>FORWARD</dispatcher> 
 </filter-mapping>

分享到:
评论
1 楼 ocaicai 2011-12-14  
圣人啊,救星啊,我被这个问题折磨得蛋疼!对了,我在google中关键字:urlrewrite forward action 到达你这儿的

相关推荐

    struts2+spring3+hibernate4+urlrewrite

    本框架为struts2+spring3+hibernate4+urlrewrite(伪静态地址) Struts采用通配,web-inf下的urlrewrite.xml为伪静态配置文件,跳转到struts.xml进行对应

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

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

    hibernate3+struts2+spring2+freemarker 主流技术架构 实例

    包括: +----doc +-----jeecms基础概念.txt ...• 采用伪静态结合页面缓存技术,可自定义路径结构,无需urlrewrite • 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录

    jeecmsv2.3.2 内容管理系统 (hibernate3+struts2+spring2+freemarker)

    JEECMS是JavaEE版网站管理系统(Java Enterprise ...· 采用伪静态结合页面缓存技术,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录

    使用urlrewrite重写struts2的action

    3. **创建urlrewrite.xml**:在你的项目的`WEB-INF`目录下创建`urlrewrite.xml`文件。这个文件将包含所有的URL重写规则。例如,如果你想将`/struts2示例.action?name=张三`重写为`/example/张三`,可以编写如下规则...

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

    ### SSH2中的URLRewrite与Struts2生成静态页面 #### URLRewrite的理解与应用 在SSH2(Spring + Struts2 + Hibernate)框架中,URLRewrite是一种强大的工具,可以用于实现URL重写功能,使得网站的URL更加友好、易于...

    UrlRewrite例子

    UrlRewrite是一个强大的URL重写工具,常用于Java Web应用中,尤其是与Struts2框架结合使用时,能够帮助开发者优化URL结构,提高网站的SEO友好性和用户体验。在这个"UrlRewrite例子"中,我们将深入探讨UrlRewrite的...

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

    URLrewrite-实例

    `URLrewrite`是一个基于Java的开源过滤器,它实现了Apache的mod_rewrite功能,广泛应用于Spring、Struts、JSF等Java Web框架中。它提供了强大的规则配置,使得开发者能够灵活地对URL进行重写和重定向。 在使用`URL...

    struts2改写url后缀demo

    总结,通过引入`Tuckey URL Rewrite Filter`,并在`urlrewrite.xml`中定义适当的规则,我们可以轻松地将Struts2的`.do`后缀重写为`.html`或其他形式。这不仅使URL更易于理解和记忆,也有助于提升用户体验和SEO效果。...

    urlrewrite完整示例2.6/3.2/4.0jar包

    在实际开发中,`URLRewrite`常用于Spring MVC、Struts等框架的项目,与这些框架配合使用,可以更好地管理应用程序的URL结构。 7. **注意事项**: - 配置文件的放置位置:通常放在WEB-INF目录下,确保不在公开访问...

    urlrewrite的简单搭建

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

    urlrewrite静态页面的使用例子

    2. **规则定义**:接下来,我们需要创建一个名为`urlrewrite.xml`的配置文件,定义URL重写规则。在这个例子中,可能有如下规则: ```xml ^/old-page\.jsp$ &lt;to&gt;/new-page.html&lt;/to&gt; ``` 这个规则会将所有访问`/...

    struts1.2与urlrewritefilter 的整合

    3. **编写urlrewrite.xml**:这个文件是URLRewriteFilter的核心,定义了一系列的规则。例如,可以创建一条规则,将所有以`.action`结尾的请求重写为去掉.action后缀的形式。规则的基本结构包括`&lt;rule&gt;`元素,其中...

    伪静态URLRewrite实例解析

    - **依赖导入**:接着导入`urlrewrite-2.6.0.jar`至项目的Build Path路径下,并引入Struts框架。 **2. web.xml配置** 接下来,需要在`web.xml`中配置UrlRewriteFilter过滤器,示例如下: ```xml &lt;!-- ...

    urlrewrite重写jar包

    `urlrewrite`可以很好地与Spring MVC、Struts2等框架集成,用于统一处理URL映射。 总的来说,`urlrewrite`是一个强大的工具,能够帮助开发者灵活地管理和控制应用程序的URL结构,提升用户体验和系统性能。学习和...

    struts2中实现URL重写

    3. **配置URLRewrite.xml**:创建一个名为`urlrewrite.xml`的配置文件,放在WEB-INF目录下。在这个文件中,定义重写规则。例如,如果我们希望将`/action?param1=value1&param2=value2`重写为`/newAction/value1/...

    伪静态_URLRewrite实例解析

    2. **UrlRewrite Filter**: UrlRewrite Filter是一个开源的URL重写过滤器,它可以对HTTP请求的URL进行修改,从而实现伪静态效果。它是基于Tuckey组织开发的,适用于Java Web应用。 3. **配置Web工程**: - 创建...

    jeecms-src.rar_com.jeec_freemarker_freemarker struts2_单点登录

    JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content...采用伪静态页面技术,可自定义路径结构,无需urlrewrite 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录

Global site tag (gtag.js) - Google Analytics