微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java中的UrlReWriter(url重写)_源码下载

最近在做的一个项目中用到了url重写。

如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点,这就需要你美化你的网页的地址,

也就是我们常说的Url重写技术,大家熟悉的可能有很多服务器都提供Url重写的技术,以前我们用的最多的就是Apache,

Jboss这样一些服务器自带的一些Url重写,但是他们的配置比较麻烦,性能又不是太好,现在我们有专一的开源框架

来完成Url重写任务,今天我要介绍的就是UrlRewriter。使用起来比较简单,配置是相当的简单明了。

我们先简单的了解一下使用Url重写能给你网站带来哪些好处。

  第一:有利于搜索引擎的抓取,因为现在大部分的搜索引擎对动态页面的抓取还比较弱,它们更喜欢抓取一些静态的页面

    而我们现在的页面大部分的数据都是动态的显示的。这就需要我们把动态页面变成静态的页面,有利于搜索引擎的抓取。

  第二:让用户更容易理解,很少有用户去关心你网站的页面的地址,但对一般的大中型网站增强可读性还是必须的。这样会让你的网站更加完美。

  第三:隐藏技术的实现,我们可以通过Url重写可以实现技术的隐藏。不至于暴露你所采用的技术,给一些想攻击你网站的爱好者提供方便。

  第四:可以很方便的重用,提高网站的移植性。如果我们后台方法改动的话,可以保证前台页面部分不用改。这样就提高了网站的移植性。

它虽然有这么多的优点,但是也有一点缺点的,因为它是通过过滤器原理来实现的,就以为着又多了一道访问,会多少影响点访问速度的,这个可以忽略不计的。

现在UrlRewriter技术有两个技术平台的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。

首先让我们了解它的工作原理,说白了它就是一个简单的过滤器(Filter) ,看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect().

下面我们就快速的为你的网站搭建Url重写技术。

以上内容来自:

下面我们就来实现一个的url重写例子:

准备工作:

:urlrewrite-3.2.0.jar

我下载的是:

效果1:

输入:

输入:

不错吧,是不是想自己动手试一试啊.

UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter UrlRewriteFilter /* dispatcherREQUESTdispatcher dispatcherFORWARDdispatcher welcome-file-list welcome-fileindex.htmlwelcome-file welcome-fileindex.htmwelcome-file welcome-fileindex.jspwelcome-file welcome-file-list

figuration file for UrlRewriteFilter http://tuckey.org/urlrewrite/ /test.html %{context-path}/duona.html /name/(.*) /MyName.jsp?name=$1

Meta 多拿网 红色字体加粗测试 : 多拿网,'码'上行动,多拿多优惠< 测试连接地址: 多拿网< 图片测试:

Meta Insert title here

contextpath(); Meta arameter( my name is : arameter( ,welcome to my zone: http://www.cnblogs.com/hongten<

分享一下:org.tuckey.web.filters.urlrewrite.sample包下面的一些源代码

SampleConfExt confdoc(Document doc) { confdoc(doc); }

fig; servletexception; figuration files. (NOT to be used verbatim!!) SampleMultiUrlRewriteFilter List urlrewriters = loadUrlRewriter(FilterConfig filterConfig) servletexception { figurations Conf conf1 = Conf(filterConfig.getServletContext(), FileInputStream("someconf.xml"),"someconf.xml","" urlrewriters.add( Conf conf2 = urlrewriters.add( } servletexception(e); (UrlRewriter) urlrewriters.get(0 ( i = 0; i < urlrewriters.size(); i++ UrlRewriter urlRewriter = }

copyright (c) 2005-2007,Paul Tuckey distribution and use in source and binary forms,with or without distributions of source code must retain the above copyright disclaimer. distributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentation and/or other materials provided distribution. nor the names of its contributors copYRIGHT HOLDERS AND CONTRIBUTORS fitness culaR PURPOSE ARE disCLaimED. IN NO EVENT SHALL THE copYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,INDIRECT, damAGES (INCLUDING, nesS INTERRUPTION) HOWEVER damAGE. dispatcher; servletexception; SampleRewriteMatch SampleRewriteMatch( id = execute(HttpServletRequest request,HttpServletResponse response) servletexception,IOException { request.setAttribute("sampleRewriteMatch", Requestdispatcher rd = request.getRequestdispatcher("/WEB-INF/jsp/some-view.jsp" }

org.tuckey.web.filters.urlrewrite.sample.SampleRewriteRule.class

copyright (c) 2005-2007,EVEN IF ADVISED OF THE damAGE. SampleRewriteRule (!request.getRequestURI().startsWith("/staff/")) Integer id = id =irst( "/staff/([0-9]+)/","$1" } required with clean parameters }

dist.xml文件

dist.xml

figuration file for UrlRewriteFilter /test/status/ %{context-path}/rewrite-status /rewrite-status /test/status/ UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel WARN UrlRewriteFilter /* /some/old/page.html /some/olddir/(.*) /products/([0-9]+) /products/index.jsp?product_id=$1 browser detection /some/page.html /some/page-for-old-browsers.html browsers.html only for older browsers whose user agent srtings match Mozilla/1,Mozilla/2,Mozilla/3 or Mozilla/4. browser detection browser">moz browser","moz") will be called.

一个简单的过滤器(Filter) ,看看源码你就会很快的明白,

方法实现的forward(),sendRedirect().

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐