博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java web开发使用伪静态
阅读量:6597 次
发布时间:2019-06-24

本文共 1997 字,大约阅读时间需要 6 分钟。

 现在UrlRewriter技术有两个技术平台 的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。
首先让我们了解它的工作原理,说白了它就是一个简 单的过滤器(Filter) ,看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect().
下面我们就快速 的为你的网站搭建Url重写技术。
第一步:下载urlrewrite-2.6.0.现在最新版本是3.1 的。(
 /files/urlrewritefilter-3.1.0.zip把urlrewrite-2.6.0.jar拷到classpath下。
第 二步:在WEB-INF目录下建一个urlrewrite.xml文件。
第三步:在web.xml中初始化。加上下面的代码:
<!-- Set URL Rewrite-->
< 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>
< /filter-mapping>
最 后我要简单的讲一下常用的两个配置规则.以下就是简单的urlrewrite.xml配置片段。不要习惯Java的命名法把它写成 urlRewrite.xml,这样即使你加上
<init-param>
< param-name>confPath</param-name>
< param-value>/WEB-INF/urlRewrite.xml</param-value>
< /init-param>
在 启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"">
< urlrewrite>
< rule>
< from>^/(/w+)/(/w+)/page_(/d+)/.html$</from>
< to type="forward">/$1.htm?category=$2&amp;page=$3</to>
< /rule>
< rule>
< from>^/rss/yahoo/.html$</from>
< to type="redirect"> ? url=
< /to>
< /rule>
< /urlrewrite>
所 有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。
<rule>
< from></from>
< to type="forward></to>
< /rule>
< from></from> 写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是: /entity.htm ?category=user&page=2.而我们想把它重写为/entity/uesr /page_2.html。这样看起来比我们实际的要好看的多。我们就应该这样的写: 
<rule>
< from>^/(/w+)/(/w+)/page_(/d+)/.html$</from>
< to type="forward">/$1.htm?category=$2&amp;page=$3</to>
< /rule>
简 单的介绍一下常用的正规表示式: 
代码
说明
.
匹配除换行符以 外的任意字符
/w
匹配字母或数字或下划线或汉字
/s
匹配任意的空白符
/d
匹 配数字
/b
匹配单词的开始或结束
^
匹配字符串的开始
$
匹 配字符串的结束
常用的&amp;要用 &amp;来表示。$1,$2代表与你配置正规表达式/(/w+)/(/w+)/相对应的参数。<to type="forward">默认的是 type="forward".
另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
< rule>
< from>^/rss/yahoo/.html$</from>
< to type="redirect"> ? url=
< /to>
< /rule>
< !--v:3.2-->

转载地址:http://qitio.baihongyu.com/

你可能感兴趣的文章
又一次考试
查看>>
好记性烂笔头2
查看>>
C++中的继承和组合区别使用
查看>>
分享一些不错的学习网站
查看>>
使用RDP时发生AtBroker.exe error的解决方法
查看>>
windows server 2012 SVN 服务器配置
查看>>
一张图了解项目管理49个过程
查看>>
深究AngularJS——$sce的使用
查看>>
check_mk自定义监控插件监控IIS站点的性能计数器
查看>>
比较常用的几个正则表达式
查看>>
linux svn服务器搭建、客户端操作、备份与恢复
查看>>
IIS默认网站无法开启service unavailable!
查看>>
知识点②:spring boot 注入 / 静态注入
查看>>
Catalyst2层交换的3层通信
查看>>
Struts2中OGNL对各种方法的调用
查看>>
JavaScript强化教程——javascript性能优化
查看>>
输入框自动下拉补全
查看>>
Non-terminating decimal expansion; no exact re...
查看>>
raspberry pi和 oLinuxIno (same as Openboard Swo...
查看>>
mysql explain中的select tables optimized away
查看>>