Struts2与URL Rewrite整合注意的地方
jar:http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip
1.在重新定向的jsp界面中不要使用<s:include>标签,会发生空指针异常,你可以使用<jsp:include>去解决
2.web.xml中UrlRewrite过滤器要在struts2过滤器前面,在Struts2过滤器映射要这样写
<!-- FilterDispatcher用来初始化Struts 2并且处理所有的HTTP请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
<dispatcher>REQUEST </dispatcher>
<dispatcher>FORWARD </dispatcher>
<dispatcher>INCLUDE </dispatcher>
</filter-mapping>
<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>
3.就是重定向之后的的路径问题 ,这个问题烦人,还有页面上的图片显示,单独打开时可以显示,但是定向之后就显示不出来了,解决这个问题没有同一的解决途径,根据具体情况自己去琢磨吧!但也不能胡思乱想主要从以下几个方面考虑:
(1.)文件的实际位置
(2.)重定向之后的位置,
(3.) Struts2中result转向的路径
(4.)还有可能跟struts2中配置文件中的package属性namescape有关,我在项目中就是用到了
urlrewrite.xml如下:
<rule>
<note>login</note>
<from>/login/([\a-zA-Z0-9_\u4e00-\u9fa5]+)/([\a-zA-Z0-9_\u4e00-\u9fa5]+)/</from>
<to>
/user/login.action?username=$1&password=$2
</to>
</rule>
([\a-zA-Z0-9_\u4e00-\u9fa5]+) 所对应的动态参数$N(N 表示第N个正则表达式)
访问http://localhost:8085/Struts2Test/login/123/123/ 转到 http://localhost:8085/Struts2Test/user/login.action?username=123&password=123
struts.xml如下:
<package name="userWeb" extends="json-default" namespace="/userWeb/black">
<action name="userWebIndex" class="userWebIndexAction" method="userWebIndex">
<result name="success">index.jsp</result>
</action>
</package>
4.urlrewrite这是把丑陋的请求地址美化了一下,看起来想静态界面的请求地址,更利于搜索引擎的搜索到,根本不会提高打开界面的速度。
FROM: DK
分享到:
相关推荐
本框架为struts2+spring3+hibernate4+urlrewrite(伪静态地址) Struts采用通配,web-inf下的urlrewrite.xml为伪静态配置文件,跳转到struts.xml进行对应
综上所述,整合Struts1.2与URLRewriteFilter是一项重要的优化工作,它可以帮助我们创建更加友好、易用的URL,提升用户体验,同时也方便了应用程序的维护和扩展。在项目实践中,理解并掌握这两者的结合使用,对于提升...
通过这个整合,Struts 2应用不仅能够利用URLWrite 4的重写功能来改善URL结构,还可以结合Struts 2的拦截器和Action机制,实现更灵活的路由和控制逻辑。同时,这也有助于提高SEO,因为搜索引擎更喜欢静态、有意义的...
### 精通Struts——Java流行服务器、框架及工具整合应用 #### 3.1 标签库的组成 Struts 框架的核心优势之一在于它的标签库,这是一套专门设计用于简化Web开发过程的工具集合。通过使用这些标签,开发者能够有效地...
wint 是一个基于mvc易用的 java web框架,抛开了struts2 繁琐的配置,结合django,RoR,webx,play等框架的特点,使用约定优于配置的原则,使开发者能快速的搭建web和进行快速开发。 wint提供的主要功能有: 模板与...