`
songjindian
  • 浏览: 73900 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

struts2 url 重写

 
阅读更多
刚做完一个项目,因为是一个网站,所以会考虑到seo的东西。因为是用ssh做的,因此这里面就会出现*.action、*.jsp等不利于seo的一些值,所以就用urlrewtire这个插件做了处理,处理的相关内容如下:
1、下载urlrewrite-3.2.0.jar,当然也可以是其他版本,在这里我用的是这个版本。然后放到项目的lib目录下。
2、配置过滤器,在web.xml中添加以下代码:
 <!-- url 重写 -->
    <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 -->
		<url-pattern>/*</url-pattern>
	</filter-mapping>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
,这里面尤其要记得修改struts2的过滤器的mapping中的几种dispatcher。因为在没有添加之前url重写无效。
3、添加urlrewrite.xml文件。改文件放在web.xml同一级目录下面。主要内容如下:
<!-- 将首页映射为/-->
	<rule>
		<from>/index.html</from>
		<to type="forward">queryFontModules.action</to>
	</rule>
	<!-- 将新闻内容映射为/news-contentId-moduleId.html -->
 	<rule>
		<from>^/news-([0-9]+)-([0-9]+).html$</from>
		<to type="forward">
		/queryModuleContent.action?contentId=$1&amp;moduleId=$2
		</to>
	</rule>
。第一个事没有产数的action映射为html。第二个是有两个参数的action映射为html。这里需要有几个注意的地方:一、多个参数在url中我们用“&”符号链接,但在这里面如要转义为:“&amp;”;二、原来url中的参数在这里用$1、$2......表示即可,但是顺序要一致。
4、配置完成时候就可以使用了,例如在浏览器中输入.../index.html这个地址之后,程序会去执行queryFontModules.action这个action,但是地址栏中还是显示.../index.html,这样子就起到了url重写的目的。
1
0
分享到:
评论

相关推荐

    使用urlrewrite重写struts2的action

    NULL 博文链接:https://namas.iteye.com/blog/1130854

    struts2中实现URL重写

    最近开发项目的时候,遇到Struts2需要URL重写的问题,总结了下资料,和大家分享!!

    Struts1 ULR重写

    一个简单的struts 的URL 重写(伪静态)例子

    重写:OCPsoft URL重写框架

    一个高度可配置的URL重写工具,适用于Java EE 6+和Servlet 2.5+应用程序,支持与以下组件的集成: CDI 弹簧DI JodaTime配置 Tuckey.org URLRewriteFilter配置 JavaServer Faces(JSF) JavaServer页面(JSP) ...

    java struts如何隐藏提交后缀.action, .do.zip

    java struts如何隐藏提交后缀.action, .do

    Java毕业设计-[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava.rar

    UrlRewriter Java v2.0 RC1是一个用于Java Web应用程序的URL重写过滤器。它允许开发人员通过简单的XML配置文件来定义URL重写规则,从而实现URL的友好化和优化。这个库可以帮助开发人员更好地控制和管理Web应用程序的...

    smarturls-s2-0.18.zip

    在struts2中实现去掉后缀及url重写的相关包

    EBook文档共享与在线预览发布系统

    5、通过将URL重写,实现地址的隐藏与搜索引擎的提取 6、界面支持中文和英文两种语言支持 6、与用户邮件系统绑定,可以通过系统邮件通知用户文档相关信息 7、关注用户的邮件自动通知功能等 8、具有一个文档共享发布与...

    java web技术开发大全(最全最新)

    4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术...

    java web开发技术大全

    4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX...

    javabean分页的例子

    并且查询出的所有类型在做成链接时都要使用URL重写 7、写一个Index.jsp页面,将GoodsList.jsp页面和TypeList.jsp页面放入框架集 8、在GoodsList.jsp页面中,将JavaBean初始化的时候,要设置查询语句 &lt;br&gt;

    J2EE应用开发详解

    57 4.3.7 Servlet协作 57 4.3.8 Filter 58 4.4 使用Servlet处理客户端请求 58 4.5 会话跟踪 61 4.5.1 使用Cookie进行会话跟踪 61 4.5.2 使用URL重写进行会话跟踪 62 4.5.3 使用隐藏表单域进行会话跟踪 63 4.6 小结 ...

    传智巴巴运动网源代码[两个模块]

    并且系统引入了缓存技术,URL重写技术,页面静态化技术,针对搜索引擎的优化技术。更重要的是巴巴运动网是真正的商业化产品(售价12万元),它溶合了作者多年积累的商务网站运营及软件构架经验,是目前为数不多的集...

    设计REST风格的MVC框架

    尽管使用Filter或者Apachemod_rewrite能够通过URL重写实现REST风格的URL,为什么不直接设计一个全新的REST风格的MVC框架呢?本文将讲述如何从头设计一个基于REST风格的JavaMVC框架,配合Annotation,最大限度地简化...

    Java学习笔记-个人整理的

    {2.2.2}方法重写/覆盖}{50}{subsection.2.2.2} {2.3}修饰符}{51}{section.2.3} {2.4}父类对象的方法调用}{51}{section.2.4} {2.5}封装}{52}{section.2.5} {2.6}多态}{53}{section.2.6} {2.7}Sample code}{54}...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (2)针对跨域数据交互问题,指出并分析了跨域缓存交互问题出现的原因,通过在HTML5存储技术的基础上,重写LocalStorage,用移动端本地的Sqlite进行数据维护,实现跨域数据交互。 (3)针对页面自适应问题,本文结合...

    超级有影响力霸气的Java面试题大全文档

     forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...

    java 面试题 总结

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...

    webx3框架指南PDF教程附学习Demo

    • Struts • Webwork • Tapestry • Spring MVC 以上框架都是非常优秀的。说实话,如果阿里巴巴网站在2001年开始,就有这么多可选择的话,无论选择哪一个都不会有问题。因为这些年来,所有的开源Web框架都在...

Global site tag (gtag.js) - Google Analytics