在tomcat服务器使用url rewriting

来源:互联网 发布:上海网络信息安全 编辑:程序博客网 时间:2024/05/13 19:32

什么是Url Rewriting

关于Url Rewriting的概念这里不详述,有一篇很不错的介绍文章:

http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/


在Tomcat中使用Url Rewriting step by step

我使用的IDE是eclipse indigo,web server当然就是Tomcat了,url rewrite工具是UrlRewriteFilter 3.2.0(关于这个工具,大家可以去官网看介绍)。


1, 到http://code.google.com/p/urlrewritefilter/downloads/list 下载 urlrewritefilter-3.2.0.zip 解压后有两个文件:

urlrewritefilter-3.2.0.jar

urlrewrite.xml


2, 大家知道,如果希望tomcat作为web server运行自己的web程序,需要将web程序的相关resource部署到tomcat的根目录下,然后运行startup.bat来launch tomcat。

但是在eclipse indigo中开发dynamic web project时,为了简化这个过程,eclipse可以自动完成很多事情:管理tomcat,自动部署web application,甚至把浏览器也集成到了eclipse中。

而我使用的就是第二种方式,这种方式需要在eclipse中建一个tomcat server。具体大家参考别的资料吧。

使用这种方式,我们只需要将urlrewritefilter-3.2.0.jar放到eclipse项目中的WebContent/WEB-INF/lib就可以了。

如果使用第一种方式,则需要将urlrewritefilter-3.2.0.jar放到tomcat根目录下的lib下。


3,将urlrewrite.xml放到项目/WebContent/WEB-INF下。

WEB-INF
–lib
    –urlrewrite-3.2.0.jar
–urlrewrite.xml


4,打开web.xml,在<servlet>前加入:

<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-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>

修改这个文件是因为url rewriting是由container控制的行为,而web.xml是给container使用的。


5, 在urlrewrite.xml中加入一条rule

<rule>
<from>/home</from>
<to type= "forward" >/index.jsp</to>

</rule>

上例的意思很简单,即当浏览器请求/home页面时,将请求实际发送给/index.jsp

这样用户在地址栏中看到的就是http://localhost:8080/***/home,而背后实际运行的是http://localhost:8080/***/index.jsp


更多rule的例子请参看

http://code.google.com/p/urlrewritefilter/


原创粉丝点击