就个人在开发过程当中所遇到特殊需求的解决方式(01)

就个人在开发过程当中所遇到特殊需求的解决方式(01):

将web项目的访问路径缩短,(其实在开发时,大多数是不需要这样的,但是做了这样的处理,也有优点,能增加网站的安全性和隐秘性)
如:把(www.baidu.com?id=123&name=xxx)缩短成(www.baidu.com/123/xxx)

其实网上也有很多种的方法,但有的都写的不齐全(我也是找了近20篇不同的文章才得出来的答案),所以我就在此写了一种比较简单的方法,之所以想记录下来,一方面是因为当初自己在这个问题上花费了好长的一段时间,所以想记录下来以后方便回顾;另一方面,还是想帮助一下其他人,少走些弯路。(希望对你有所帮助,谢谢。)

一、 首先下载 urlrewritefilter 的jar包。

<dependency>
		    <groupId>org.tuckey</groupId>
		    <artifactId>urlrewritefilter</artifactId>
		    <version>4.0.3</version>
</dependency>

二、 然后在WEB-INF下创建 urlrewrite.xml 文件(建议名字就不要改了)
创建urlrewrite.xml文件

三、 在urlrewrite.xml 文件中的配置:

<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN" "http://tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
	<rule>
		<note>这里写的是注释</note>
		<from>^/index/([\u4e00-\u9fa5]+)/([A-Za-z0-9\.@]*)$</from> //这里是更改后的路径
		<to>/infor/details?wzbh=$1&amp;ztmc=$2</to> //这里是原始路径
	</rule>
</urlrewrite>

其中:
^/index/([\u4e00-\u9fa5]+)/([A-Za-z0-9.@])$ 是你需要更改成的路径,我这里是用通过正则来匹配路径上的参数(匹配的正则因人而异)。
/infor/details?wzbh=$1&ztmc=$2 是你项目的实际路径,$1和$2就是你的对应的参数和个数,
也就是用正则匹配出来的参数([\u4e00-\u9fa5]+)和([A-Za-z0-9.@]
)。

四、 在web.xml中增加如下配置:

<filter>
		<filter-name>UrlRewriteFilter</filter-name>
		<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
		<init-param>
			<param-name>confPath</param-name>
			<param-value>/WEB-INF/urlrewrite.xml</param-value> //刚刚建的urlrewrite.xml的路径
		</init-param>
		<init-param>
			<param-name>logLevel</param-name>
			<param-value>INFO</param-value>
		</init-param>
</filter>

//拦截器,将你想更改的路径拦截下来
<filter-mapping>
		<filter-name>UrlRewriteFilter</filter-name>
		<url-pattern>/index/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
</filter-mapping>

以上就是实现的方法了,希望对你有所帮助。(我的心愿是,世界无bug)
注明:此文章是看了 https://blog.csdn.net/veryisjava/article/details/53912908 后的改编。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值