站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题请教一个关于serlet过滤器的问题!熟悉的人进来看看吧,分不够再加!!

请教一个关于serlet过滤器的问题!熟悉的人进来看看吧,分不够再加!!

摘要: 请教一个关于serlet过滤器的问题!熟悉的人进来看看吧,分不够再加!!


是这样的,一个页面有几个URL链接,地址都是类似
“http://www.xxxx.com/test/action?par1=123&par2=0058&par3=123456789012”类似这样的URL,也就是区别在于参数不一样!
我想实现一个servlet的filter,目的很简单,拦截用户的URL访问,同时对当前的session以及url带的参数进行判断或者修改,请问这样的思路没问题吧??
因为我注意到servlet提供对servlet或者jsp页面的过滤,不知道对于这种“http://www.xxxx.com/test/action?par1=123&par2=0058&par3=123456789012”形式的能否进行过滤呢??


简单的说就是先拦截用户的访问,通过request.getRequestURL()获得用户点击的链接的地址URL,然后我要处理分析一下,最后再定向到一个页面,或者利用httpclient发出一个post!


本人说话算话,前2天已经放出了200分,即使发出的问题没得到有效的回应,但对于顶贴的也给了不少分!
能给出解决的,分不够可以再加!7,8K分呢!


不是吧?是不是这会高手都回家睡觉了?或者看什么超女??


思路正确.在web.xml的中设置你的Servlet路径,
如:/test/action


request.getServletPath()得到Servlet的路径即/test/action
或者用request.getRequestURL()得到字符串http://www.xxxx.com/test/action

用request.getQueryString()可得到参数,如:par1=123&par2=0058&par3=123456789012



恩,楼上的兄弟,顺便再问你一下,是不是filter只能对post请求进行过滤??
而对于get方式的就不成?我认为的post方式无非就是通过form中提交!是不是其它方式的传参就属于get了?因为我上面的举例“http://www.xxxx.com/test/action?par1=123&par2=0058&par3=123456789012”后面的参数联接是人为加上去的,而不是通过form得到的!

另外还有一小问题,当我处理完并重定向时候,我是否应该利用“HttpServletReponse的sendRedirect()方法”重新定向提交服务呢?这样做没问题吧?我还考虑利用httpclient的包new一个post的动作呢!哪种合适呢?

最后一个问题,因为这个filter可能同时会有多个用户触发,请问如何做到安全的多线程呢?

以上问题如果能给出示例代码最好,本人会另外开贴加100分!


因为如果filter只能通过post方式的话,那么兄弟你说的“用request.getQueryString()可得到参数,如:par1=123&par2=0058&par3=123456789012”就不正确了,因为request.getQueryString()得到的是客户端get方式的参数!
还请诸位高手指教!


“http://www.xxxx.com/test/action?par1=123&par2=0058&par3=123456789012”形式的能否进行过滤呢??

可过虑的,所有的URL它都能过滤.只要在web.xml配置一下即可,具体代码网上很多.


Servlet过滤器是根据在web.xml文件中所配置的情况进行过滤的:

FilterAlias
com.yaray.tools.filter.UserAuthenticationFilter


FilterAlias
/*


↑返回目录
前一篇: 我有一条JS脚本,不知道是什么意思,希望大家帮帮忙
后一篇: jsp 操作频繁写cookie时,频繁session丢失 求助