刚做完一个项目,因为是一个网站,所以会考虑到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&moduleId=$2
</to>
</rule>
。第一个事没有产数的action映射为html。第二个是有两个参数的action映射为html。这里需要有几个注意的地方:一、多个参数在url中我们用“&”符号链接,但在这里面如要转义为:“&”;二、原来url中的参数在这里用$1、$2......表示即可,但是顺序要一致。
4、配置完成时候就可以使用了,例如在浏览器中输入.../index.html这个地址之后,程序会去执行queryFontModules.action这个action,但是地址栏中还是显示.../index.html,这样子就起到了url重写的目的。
分享到:
相关推荐
NULL 博文链接:https://namas.iteye.com/blog/1130854
最近开发项目的时候,遇到Struts2需要URL重写的问题,总结了下资料,和大家分享!!
一个简单的struts 的URL 重写(伪静态)例子
一个高度可配置的URL重写工具,适用于Java EE 6+和Servlet 2.5+应用程序,支持与以下组件的集成: CDI 弹簧DI JodaTime配置 Tuckey.org URLRewriteFilter配置 JavaServer Faces(JSF) JavaServer页面(JSP) ...
java struts如何隐藏提交后缀.action, .do
UrlRewriter Java v2.0 RC1是一个用于Java Web应用程序的URL重写过滤器。它允许开发人员通过简单的XML配置文件来定义URL重写规则,从而实现URL的友好化和优化。这个库可以帮助开发人员更好地控制和管理Web应用程序的...
在struts2中实现去掉后缀及url重写的相关包
5、通过将URL重写,实现地址的隐藏与搜索引擎的提取 6、界面支持中文和英文两种语言支持 6、与用户邮件系统绑定,可以通过系统邮件通知用户文档相关信息 7、关注用户的邮件自动通知功能等 8、具有一个文档共享发布与...
4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术...
4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX...
并且查询出的所有类型在做成链接时都要使用URL重写 7、写一个Index.jsp页面,将GoodsList.jsp页面和TypeList.jsp页面放入框架集 8、在GoodsList.jsp页面中,将JavaBean初始化的时候,要设置查询语句 <br>
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万元),它溶合了作者多年积累的商务网站运营及软件构架经验,是目前为数不多的集...
尽管使用Filter或者Apachemod_rewrite能够通过URL重写实现REST风格的URL,为什么不直接设计一个全新的REST风格的MVC框架呢?本文将讲述如何从头设计一个基于REST风格的JavaMVC框架,配合Annotation,最大限度地简化...
{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}...
(2)针对跨域数据交互问题,指出并分析了跨域缓存交互问题出现的原因,通过在HTML5存储技术的基础上,重写LocalStorage,用移动端本地的Sqlite进行数据维护,实现跨域数据交互。 (3)针对页面自适应问题,本文结合...
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...
• Struts • Webwork • Tapestry • Spring MVC 以上框架都是非常优秀的。说实话,如果阿里巴巴网站在2001年开始,就有这么多可选择的话,无论选择哪一个都不会有问题。因为这些年来,所有的开源Web框架都在...