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 : 我下载的是:
: 输入:
输入: 不错吧,是不是想自己动手试一试啊.
UrlRewriteFilter
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
UrlRewriteFilter
/*
REQUEST
FORWARD
index.html
index.htm
index.jsp
/test.html
%{context-path}/duona.html
/name/(.*)
/MyName.jsp?name=$1
多拿网
红色字体加粗测试 :
多拿网,'码'上行动,多拿多优惠<
测试连接地址:
多拿网<
图片测试:
Insert title here
"
my name is : ,welcome to my zone:
http://www.cnblogs.com/hongten<
SampleConfExt
}
SampleMultiUrlRewriteFilter
List urlrewriters =
loadUrlRewriter(FilterConfig filterConfig)
Conf conf1 = Conf(filterConfig.getServletContext(), FileInputStream("someconf.xml"),"someconf.xml","" urlrewriters.add(
Conf conf2 = urlrewriters.add(
}
(UrlRewriter) urlrewriters.get(0
( i = 0; i < urlrewriters.size(); i++ UrlRewriter urlRewriter =
}
SampleRewriteMatch
SampleRewriteMatch( id =
execute(HttpServletRequest request,HttpServletResponse response)
request.setAttribute("sampleRewriteMatch", RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/jsp/some-view.jsp"
}
org.tuckey.web.filters.urlrewrite.sample.SampleRewriteRule.class
SampleRewriteRule
(!request.getRequestURI().startsWith("/staff/"))
Integer id =
id = "/staff/([0-9]+)/","$1" }
}
/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
/some/page.html
/some/page-for-old-browsers.html
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |