现在很多网站都会使用这样的技术,就是url重写,究竟有什么用呢?网上很多人都说便于搜索引擎收录,这一点我buy,毕竟不是所有的搜索引擎都会提高动态页面的权。而且这样的url比较短,便于收录那是肯定的。再者可以隐藏实现技术,当然这个只是对于普通的菜鸟才会有效,要想知道你的实现技术太容易了。当然知道了也没什么大不了的。只要腰杆直,咱也不怕你来挑衅。
http://www.soku.com/search_video/q_电影
平时可能就是直接xxx.action?q=xxxxx,用Url Rewrite Filter就可以实现了,这东西的实现方式就是一个javax.servlet.Filter,目前的最新版本是4.0,这个版本还在测试中,推荐使用urlrewritefilter-3.2.0.zip ,这个版本比较稳定。网上很多人发的网址都是下不了的。这个是可以下的。作为学习之用还有更好的配置,源码你也下下来吧。源码包urlrewritefilter-3.2.0-src.zip 包含了一些例子,还有源码,配置说明等等。其实下源码包就足够了,它里面也包含了jar文件。在webapp\WEB-INF目录下,自己找找就的了。
好了,开始说说怎么使用吧,也就是helloworld啦。实际上会个helloworld就差不多了。
拷贝urlrewrite-3.2.0.jar到web的lib目录下,urlrewrite.xml文件拷贝到WEB-INF目录下。拷贝以下这段代码到你的web.xml文件里面,就是配置一个Filter,在servlet3.0,你可以选择直接继承该类,加个注解,也是可以的。具体怎么做上网去查怎么创建一个Filter吧。
<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>
urlrewrite.xml基本格式如下
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
"http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<urlrewrite>
<rule>
<from>/a_([0-9]*)</from>
<to>/a.action?id=$1</to>
</rule>
</urlrewrite>
这样就是配置就一个url,如:/a_1,实际上访问的是/a.action?id=1
如果是多个参数,那又该怎么配呢?
源码包给出的例子如下:
eg 1:
<from>/a/([0-9]*)/([0-9]*)</from>
<to>/a.action?id=$1&typeid=$2</to>
eg 2:
<from>/a-([0-9]*)-([0-9]*)</from>
<to>/a.action?id=$1&typeid=$2</to>
这些明显不能满足我们的需求,不知道网友有没有遇到跟我一样的情况,就是想配成如下这个样子:
/a_id_0_type_1,配置如下:
<from>/a_id_([0-9]*)_type_([0-9]*)</from>
<to>/a.action?id=$1&typeid=$2</to>
运行的时候,会发现报404错误,按照正常来说,应该是没有问题的呀,但就是有问题,怎么办呢?当时我也是用的很急,也就没想过这么多了,就直接用人家的。
想想难道这是人家已经规定好只能是'/','-'才能作为分割符吗?这个不是正则表达式吗?分组应该是没有问题的呀。我开始想到的解决方法是在'_'前面加一个'\'字符,也就是如下配置啦:
<from>/a_id_([0-9]*)\_type_([0-9]*)</from>
<to>/a.action?id=$1&typeid=$2</to>
还别说,行了。哈哈,想不到吧,'_'要转义才行。这也太神奇了吧。
后来我又试了另外一种方法,也就是在括号外面再加多一个括号。配置如下:
<from>/a_id_(([0-9]*))_type_(([0-9]*))</from>
<to>/a.action?id=$1&typeid=$2</to>
行了。加什么字符(转义字符另说)都可以了。
先写到这里。待续。
http://www.iduona.com这个网站是我写出来的,大家可以进去看看,查看源代码可以发现很多有趣的东西的
分享到:
相关推荐
在Java项目中使用URLRewriter,首先需要添加相应的依赖库,如`tuckey-urlrewritefilter`。这通常通过Maven或Gradle的依赖管理来完成。配置文件一般命名为`urlrewrite.xml`,并放置在项目的`WEB-INF`目录下。配置...
UrlRewriter Java v2.0 RC1_urlrewriter java;UrlRewriter Java v2.0 RC1_urlrewriter java;UrlRewriter Java v2.0 RC1_urlrewriter java;UrlRewriter Java v2.0 RC1_urlrewriter java;UrlRewriter Java v2.0 RC...
基于JAVA的UrlRewriter 设计实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 基于JAVA的UrlRewriter 设计实现源码,主要针对计算机相关专业的正在...
(Java毕业设计)UrlRewriter Java v2.0 RC1(Java毕业设计)UrlRewriter Java v2.0 RC1(Java毕业设计)UrlRewriter Java v2.0 RC1(Java毕业设计)UrlRewriter Java v2.0 RC1(Java毕业设计)UrlRewriter Java v2.0 RC1(Java...
Java UrlRewriter是一个用于处理和重写URL的开源库,主要应用于Web应用程序中,以实现更友好的、可搜索引擎优化(SEO)的URL结构。在Java Web开发中,UrlRewriter是一个重要的工具,它能够帮助开发者将复杂的动态URL...
[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava[其他类别]UrlRewriter Java v2.0 RC1_...
[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava[其他类别]UrlRewriter Java v2.0 RC1_...
- 库的JAR文件:这是Java应用中使用UrlRewriter库的依赖,包含了所有必要的类和方法。 - 文档:可能包括API参考文档、用户指南、示例代码等,帮助开发者理解和使用库。 - 示例项目:可能包含演示如何集成和使用...
在实现过程中,UrlRewriter Java v2.0 RC1 使用了 Java 编程语言,并结合了一些流行的 Java Web 开发框架和技术,比如 Servlet API、Spring Framework 等。通过这些框架和技术,开发人员可以轻松地集成 UrlRewriter ...
在描述中提到了一个Java项目案例,这可能是一个演示或示例项目,用于展示如何在实际应用中集成和使用`URLRewriter`。通常,这会包括以下步骤: 1. **添加依赖**:在项目的构建文件(如Maven的pom.xml或Gradle的...
UrlRewriter Java v2.0 RC1_urlrewriterjava源代码.zip UrlRewriter Java v2.0 RC1_urlrewriterjava源代码.zip UrlRewriter Java v2.0 RC1_urlrewriterjava源代码.zip UrlRewriter Java v2.0 RC1_urlrewriterjava源...
在Java开发中,UrlRewriter Java v2.0 RC1是该工具的一个版本,RC1代表Release Candidate 1,意味着这是一个接近正式版的测试版本,可能已经具备了大部分功能,但还可能存在一些已知或未知的问题。 UrlRewriter的...
【Java 课程设计】UrlRewriter Java v2.0 RC1(完整源码+详细注释) 【优秀课程设计】主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 包含全部项目源码、该...
[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava.rar[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava.rar[其他类别]UrlRewriter Java v2.0 RC1_urlrewriterjava.rar[其他类别]UrlRewriter Java v2.0 RC1...
要在Java Web应用中集成UrlRewriter,你需要: 1. 将`urlrewriter.jar`添加到项目的类路径中。 2. 创建一个名为`urlrewrite.xml`的配置文件,定义URL重写规则。 3. 在`web.xml`配置文件中,添加UrlRewriteFilter的...
UrlRewriter Java v2.0 RC1_urlrewriterjava源代码下载 UrlRewriter Java v2.0 RC1_urlrewriterjava源代码下载 UrlRewriter Java v2.0 RC1_urlrewriterjava源代码下载
此外,如果UrlRewriter使用了服务发现机制(如JAR服务提供者接口,SPI),那么`META-INF/services`子目录可能会包含相应的配置文件。 UrlRewriter的实现可能基于正则表达式或者自定义的规则集,允许开发者定义如何...
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH(Spring+SpringMVC+Hibernate)框架进行开发,使用MySQL作为数据存储,JSP作为页面开发。 项目的目标是构建一个高效、可靠...
总之,UrlRewriter Java v2.0 RC1是一个功能强大、易于使用的URL重写过滤器,可以帮助开发人员优化Java Web应用程序的URL结构,提高用户体验和搜索引擎优化效果。对于需要实现URL友好化和优化的Java Web应用程序项目...