`
确实比较男
  • 浏览: 115288 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

struts2和urlrewriter结合使用 完成访问路径隐藏

    博客分类:
  • J2EE
阅读更多

最近写项目要完成访问地址的功能,后台使用的是struts2,本来以为struts2应该会提供这样的功能的,但是找了很久都没有找到,结果就看到有人使用urlrewriter来完成这个功能,所以自己就试了下,结果还真的可以,而且还很简单:

1. 我使用的是maven项目,所以直接加上

<dependency>
        <groupId>org.tuckey</groupId>
	<artifactId>urlrewritefilter</artifactId>
	<version>4.0.3</version>
</dependency>

若是不是使用maven的项目,可以自己去下载这个jar包,而且是可以从svn上检出源码:http://code.google.com/p/urlrewritefilter/downloads/list

 

2. 在web.xml中加入一个拦截器,放在struts2拦截器的前面,若还加入了字符编码的拦截器的话就要放到最前面:

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<display-name>j2ee_ttzh</display-name>
	<!-- url重写start -->
	<filter>
		<filter-name>UrlRewriteFilter</filter-name>
		<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
		<init-param>
			<param-name>confPath</param-name>
			<param-value>/WEB-INF/classes/urlrewrite.xml</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>UrlRewriteFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
	</filter-mapping>
	<!-- url重写end -->
	<!-- struts2 拦截器 -->
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</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>
</web-app>

3. 新建一个urlrewrite.xml,通过上面web.xml中的配置可以看出这个文件是放在classpath下面的,若是不配置放置的位置,那么就默认在web-inf,可以查看源码验证。

 

 

<?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
         "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<urlrewrite>
	<rule><from>/register.html</from><to type="forward">register!test</to></rule></urlrewrite>

4. 接下来就是访问 register.html 那么就会去访问register这个action里面的test方法



 

分享到:
评论

相关推荐

    UrlRewriter2_51

    《UrlRewriter2_51:理解与应用URL重写技术》 UrlRewriter2_51是一款专门用于处理和...在实际项目中,结合“UrlRewriter.sln”等项目文件,开发者可以进一步深入研究和实践,探索UrlRewriter2_51在各种场景下的应用。

    Java URLRewriter使用小节

    Java URLRewriter是一个用于处理和重写URL的工具,它在Web开发中起着关键作用,尤其是在实现URL美化、URL路由、以及隐藏实际路径等方面。本文将深入探讨URLRewriter的工作原理、使用方法以及相关知识点。 ...

    urlrewriter

    2. **隐藏真实路径**:隐藏敏感信息,如文件路径或数据库查询参数,增加网站安全性。 3. **SEO优化**:友好的URL更容易被搜索引擎抓取,有助于提升网站的搜索引擎排名。 4. **重定向**:可以实现临时或永久的URL...

    URLRewriter

    2. 使用永久重定向(301 Redirect):对于已迁移的页面,使用301重定向告知搜索引擎旧URL已被永久替换。 3. 测试:在部署前充分测试重写规则,确保所有URL都能正确重定向。 总之,URLRewriter是提升网站质量和SEO...

    UrlReWriter

    UrlReWriter是一个重要的Web开发工具,它主要用于处理和重写URL,从而实现更灵活的网址管理和优化。在ASP.NET环境中,UrlReWriter组件扮演着关键角色,帮助开发者创建更加用户友好的、SEO(搜索引擎优化)友好的URL...

    Intelligencia.UrlRewriter 使用方法

    在使用Intelligencia.UrlRewriter之前,首先需要了解URL重写的原理。URL重写通过在IIS(Internet Information Services)或ASP.NET应用程序中插入一个中间层来处理HTTP请求,将原始URL转换为内部处理路径。这样,...

    UrlRewriter

    2. 隐藏实际路径:对于动态内容,可以隐藏实际的参数,增加安全性。 3. 旧URL迁移:在网站改版时,可以通过重写旧URL来避免链接失效。 五、测试与调试 在我们的示例项目“testUrlRewrite”中,可以创建一个简单的...

    c#UrlRewriter伪静态(UrlRewriter.dll和Intelligencia.UrlRewriter.dll)

    最近研究了一下伪静态,网上资料确实是比较多,我经过... 3)、然后将form标签改为RW:Form(注意开始和结束都要改),TagPrefix可以自定义 2、IIS设置上的问题,需在IIS上添加映射的时候将 “检查文件是否存在”取消

    UrlRewriter.dll和demo

    2. Add a reference to the Intelligencia.UrlRewriter assembly. 3. Open the web.config file. 4. Add Configuration section handler: name="rewriter" requirePermission="false" type=...

    UrlRewriter 实现伪静态

    UrlRewriter 是一款广泛应用于Web开发中的开源工具,主要用于实现URL重写和转换,从而达到优化网站URL结构、实现伪...正确配置和使用UrlRewriter,可以帮助开发者创建更加优雅、可读性更强的URL,提升网站的整体质量。

    URL重写(URLRewriter.dll)

    2. **配置Web.config**: 安装完成后,在Web.config文件中添加URLRewriter的配置节。一个基本的配置示例如下: ```xml ^products/(.*)" /&gt; ``` 这个规则会将URL `products/123` 重写为 `...

    IIS7.0实现伪静态URLRewriter.dll和ActionlessForm.dll

    总的来说,通过IIS7.0、URLRewriter.dll和ActionlessForm.dll的结合使用,我们可以创建出具有伪静态URL的动态网站,提高网站的可读性和SEO效果。同时,这也需要开发者对URL重写机制、HTTP协议以及web.config配置有...

    FreeTextBox.dll和URLRewriter.dll

    例如,用户在一个博客系统中使用FreeTextBox撰写一篇文章,完成后,URLRewriter可以将文章详情页的URL重写为更易于理解和分享的形式。 为了在项目中使用这两个组件,开发者需要首先下载dll文件,并将其添加到项目的...

    struts2.例子

    在`web.xml`中配置Struts2过滤器是非常重要的一步,因为这会直接影响到Struts2框架的初始化和请求处理流程。以下是文件中的关键部分: ```xml &lt;filter-name&gt;Struts2 &lt;filter-class&gt;org.apache.struts2....

    UrlRewriter .NET重写组件

    【UrlRewriter .NET重写组件】是一款针对.NET平台的URL重写工具,它能够帮助开发者在IIS6环境中实现网站URL的伪静态处理,从而提高网站的SEO友好性和用户体验。该组件的核心功能是将复杂的动态URL转换为简洁、易读的...

    urlrewriter实例

    2. **可维护性**:确保规则易于理解和修改,使用注释解释复杂规则。 3. **灵活性**:设计规则时,考虑未来可能的变化和扩展需求。 4. **测试**:在部署前充分测试所有规则,避免出现未预期的重写结果。 **总结** ...

    asp.net中URLRewriter组件使用

    本资源经过测试,并在本机测试通过,主要是针对IIS7的配置,里面有详细说明。

    UrlRewriter(ASP.NET2008 URL 重写)

    URL 重写是ASP.NET应用程序中一个重要的技术,它允许开发人员隐藏实际的URL路径,提供更友好的、可读性强的URL,从而改善用户体验并提高搜索引擎优化(SEO)。在ASP.NET 2008中,UrlRewriter库是一个常用的实现URL...

Global site tag (gtag.js) - Google Analytics