用Filter动态变更访问URL

最近遇到一个客户需求,当用户在点击一个链接时,要求该链接自动转向另一个链接。主要用来规范已有的网站链接,形成模块化管理。例如,点击www.xxx.net/homesinfo自动跳转到www.xxx.net/wscz/home/index.jsp,类似的这样,方便网站管理人员统计链接。

基于此需求,我做了一个表,内容如上:

 

create table VIRTUALURL  (

   virtualurl_id                 NUMBER(10)                      not null, --ID

   virtualurl       varchar2(200), --发送给前端用户看的虚拟url

   realurl    varchar2(200),   --对应的真实url

   constraint PK_VIRTUALURL_ID primary key (virtualurl_id)

);

/

create sequence VIRTUALURL_ID_SEQ start with 1 increment by 1 cache 20

/

 

 

然后开始写代码。我用的是filter,想来想去也只有这样最好做了。可是好久都没有碰filter了哟,,郁闷,都有些想不起来了。回顾了一下,下面就是代码:

 

 然后在web.xml文件中配置吧!

这里主要看requestDispatcher和chain.doFilter。由于好久没用了,不管转向什么页面总是报未找到。很奇怪,偶然间想到,是不是在forward之后继续执行下面的代码呢???测试一下,果然,程序在forward之后居然还会执行下面的代码,这种问题甚至会造成死循环。如果在forward之后继续执行过滤链(chain.doFilter(xxx,xxx))的话,那后台将报response重复提交这个错误。呵呵,开始蛮郁闷的。so,在forward语句之后,加上return ; 解决问题了!

综上所述:知识还是要不断的温故知新的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值