JAVA过滤器ServletRequest如何转换成HttpServletRequest
我想对某一URL进行过滤,然后获取发起该请求的URL,为什么转换总报错?我的写法是:HttpServletRequestrequest=(HttpServletReque...
我想对某一URL进行过滤,然后获取发起该请求的URL,为什么转换总报错?
我的写法是:HttpServletRequest request=(HttpServletRequest) arg1;
但却报
org.apache.catalina.connector.ResponseFacade cannot be cast to javax.servlet.http.HttpServletRequest
我的需求就是,只能从a或者b页面里的超链接到达c页面,而不能直接在浏览器中输入c页面的URL,我想到的是通过过滤器的方法,请问前辈们还有更好的方法吗?谢谢!!! 展开
我的写法是:HttpServletRequest request=(HttpServletRequest) arg1;
但却报
org.apache.catalina.connector.ResponseFacade cannot be cast to javax.servlet.http.HttpServletRequest
我的需求就是,只能从a或者b页面里的超链接到达c页面,而不能直接在浏览器中输入c页面的URL,我想到的是通过过滤器的方法,请问前辈们还有更好的方法吗?谢谢!!! 展开
2个回答
展开全部
问题1:
org.apache.catalina.connector.ResponseFacade cannot be cast to javax.servlet.http.HttpServletRequest
错误提示似乎挺明显的了,说一个类型不能强制转化为另一个类型。
待转型类型是:org.apache.catalina.connector.ResponseFacade
目标类型是:javax.servlet.http.HttpServletRequest
我想你应该看出来了,ResponseFacade -->HttpServletRequest肯定是不行的?
也就是说你是用的那个arg1肯定是一个response,你写错了而已。
改过来就好。也建议你把arg这种的参数名字写作res或者rep比较容易识别,并且可以提高代码可读性的变量名。
问题2:
关于过滤器实现地址的拦截,那么首先获得请求的地址,也就是通过request对象,它有好多个获得url的不同不同部分的方法。比如可以使用getServletPath()方法获得请求的路径,然后判断是否合法,不合法跳转到指定页面,合法那么继续chain.doFilter()。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询