刚开始学习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>
分享到:
相关推荐
本框架为struts2+spring3+hibernate4+urlrewrite(伪静态地址) Struts采用通配,web-inf下的urlrewrite.xml为伪静态配置文件,跳转到struts.xml进行对应
包括: +----doc +-----jeecms基础概念.txt ...• 采用伪静态结合页面缓存技术,可自定义路径结构,无需urlrewrite • 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
NULL 博文链接:https://stride.iteye.com/blog/723324
JEECMS是JavaEE版网站管理系统(Java Enterprise ...· 采用伪静态结合页面缓存技术,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
ssh2中的urlrewrite和Struts2的生成静态页面
NULL 博文链接:https://namas.iteye.com/blog/1130854
UrlRewrite例子,里面有一些可能出错的提示,看完后你基本上就会咯!
JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content...采用伪静态页面技术,可自定义路径结构,无需urlrewrite 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
一个很简单的使用urlrewrite实现静态页面的实现,只要把该文件解压后直接导入到eclipse里就行了,或者直接把WEB下的文件拷到TOMCAT的ROOT下去,即可运行。
看到网上只有struts2的例子,正好项目中遇到这个问题,于是就写了这么个例子。不足之处请多多指教!
UrlRewrite,在创建的时候,选择勾选“Add JSTL libraries to WEB-INF/lib folder ”(注:因为项目中会用到jstl 核心标签库),然后再把urlrewrite-2.6.0.jar导入到项目Bulid Path路径下,最后再加入struts框架。
在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性 采用伪静态页面技术,可自定义路径结构,无需urlrewrite 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录。
JEECSM是JavaEE版网站管理系统(Java Enterprise Edition ...·采用伪静态页面技术,可自定义路径结构,无需urlrewrite ·轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登陆!
JEECMS是JavaEE版网站管理系统(Java Enterprise Edition Content...采用伪静态页面技术,可自定义路径结构,无需urlrewrite 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
JEECMS是国内Java版开源网站内容管理系统(java cms、jsp ...· 采用伪静态页面技术,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
伪静态_URLRewrite实例解析,啥都不说了,详细的全程解析,菜鸟都能看懂……
在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性 ,采用伪静态页面技术,可自定义路径结构,无需urlrewrite ,轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录。
urlrewrite(把jsp变成HTML).
· 采用伪静态页面缓存技术,管理方便,速度可与静态页面相媲美,用户自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
采用伪静态页面技术,可自定义路径结构,无需urlrewrite 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录 JEECMS v2.2 beta版对以下方面进行了更新: ·降低运行环境...