url rewrite和struts2整合
来源:互联网 发布:某交友社区2千万数据 编辑:程序博客网 时间:2024/05/17 07:22
在qieqie这里http://www.iteye.com/topic/53834
发现了一个好东西,但按照他这里在项目里配置发现不成功
今天在把之前在网上收集的资料找了下,找到答案
在struts的filter-mapping中加入以下就可以了
- <filter-mapping>
- <filter-name>struts2 </filter-name>
- <url-pattern>*.do </url-pattern>
- <dispatcher>REQUEST </dispatcher>
- <dispatcher>FORWARD </dispatcher>
- <dispatcher>INCLUDE </dispatcher>
- </filter-mapping>
如下:
- <!-- Character Encoding filter -->
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>
- org.springframework.web.filter.CharacterEncodingFilter
- </filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- </filter>
- <!-- Hibernate Open Session In View filter-->
- <filter>
- <filter-name>osivFilter</filter-name>
- <filter-class>
- org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
- </filter-class>
- </filter>
- <!-- UrlRewriteFilter filter -->
- <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>
- <!-- Struts2 filter -->
- <filter>
- <filter-name>struts2-cleanup</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.ActionContextCleanUp
- </filter-class>
- </filter>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.FilterDispatcher
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>osivFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>UrlRewriteFilter</filter-name>
- <url-pattern>/*</url-pattern>
- <dispatcher>REQUEST</dispatcher>
- <dispatcher>FORWARD</dispatcher>
- </filter-mapping>
- <filter-mapping>
- <filter-name>struts2-cleanup</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>
引用部分
http://www.iteye.com/topic/70219
1、在web.xml中EncodingFilter的位置应该在Struts2的FilterDispatcher之前,道理很简单,要先调整字符集,再进入Action。
2、如果使用Urlrewrite,要指定filter-mapping的dispatcher方式,如下
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
3、在做上传文件的时候,要在web.xml中增加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>
</filter-mapping>
按照Struts2的API,filter的顺序是
struts-cleanup filter
SiteMesh filter
FilterDispatcher
顶
踩
- 2008-12-15 15:10
- 浏览 5622
- 评论(4)
- 收藏
- 分类:企业架构
- 相关推荐
- url rewrite和struts2整合
- Url Rewrite
- URL Rewrite
- URL rewrite
- url rewrite
- URL REWRITE
- URL Rewrite
- URL Rewrite
- url rewrite
- URL Rewrite
- URL Rewrite
- URL rewrite
- nginx和apache下的url rewrite
- nginx和apache下的url rewrite
- nginx rewrite和根据url参数location
- IIS8如何安装和使用URL重写工具-URL Rewrite
- urlrewriter 和 Struts2 整合
- urlrewriter 和 Struts2 整合
- C++ const与指针的学习
- malloc (0)详解
- wince控件之自绘列表
- 正则表达式、sed、awk
- hdu 4310 Hero
- url rewrite和struts2整合
- 数据流程图
- ORACLE11G自动维护任务简析
- ListView中的CheckedTextView 多选/单
- Volatile关键字详解
- 基于fpga设计9/7小波变换的解交织过程详解
- configure: error: APR not found. Please read the documentation
- Android显示单位
- 使用insert语句时需注意的几点
评论
<rule>
<from></from>
<to type="forward></to>
</rule>
<from></from>写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com/entity.htm ?category=user&page=2.而我们想把它重写为http://yousite.com/entity/uesr/page_2.html。这样看起来比我们实际的要好看的多。我们就应该这样的写:
<rule>
<from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
<to type="forward">/$1.htm?category=$2&page=$3</to>
</rule>
简单的介绍一下常用的正规表示式:
代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
常用的&要用 &来表示。$1,$2代表与你配置正规表达式>/(\w+)/(\w+)/相对应的参数。<to type="forward">默认的是 type="forward".
另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
<rule>
<from>^/rss/yahoo\.html$</from>
<to type="redirect"> http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
</to>
</rule>