最新回答 / 落叶萧萧online
找到问题了,dofilter方法中提供了参数,参数用的arg0和agr1,我这里直接调用过程request和response肯定不行,需要写的是参数名,请求和响应都是以参数形式传递进去的。。
2017-12-25
最赞回答 / 隐姓埋名的姓严的
1.一般filter都是一个链,web.xml 里面配置了几个就有几个。一个一个的连在一起 request -> filter1 -> filter2 ->filter3 -> …. -> request resource.2.chain.doFilter将请求转发给过滤器链下一个filter , 如果没有filter那就是你请求的资源
2017-12-17
已采纳回答 / 慕慕0009918
你要非要这样也可以的,只是原本要在servlet中传入的数据要在过滤器里传,之后才能判断表单是否为空。考虑到过滤器的作用,和可能带来的麻烦。这样不合适。
2017-12-04
没听懂的人你得看仔细了。!代码是很简单的,如果你觉得是因为代码问题,你可以暂停把代码敲上去在来看!第一个,关于main的死循环,是因为Index.jsp 是过滤器过滤的路径之一,当侦测到这个路径的时候,就会执行过滤器dofilter()中的方法,方法的主体在于把该页面跳转到main.jsp页面,当跳转以后,因为main.jsp也是过滤器的过滤路径之一,所以就会产生死循环。第二个问题,关于这节,主要是告诉你们能够触发过滤器的四种description标签属性,request,include,forword,error;主要是讲解了如何触发过滤器的。挺好的,不足就是在重定向和内部转发讲的有点儿多
2017-11-28
Servlet 3.0 支持和提倡使用注解模式,所有在创建web工程时一般不主动创建Web.xml。 可以直接在eclipse中创建filter,通过@WebFilter(String url) 来选择过滤的路径。
2017-11-28
doFilter()方法中的request参数要进行转换的原因:首先ServletRequest是HttpServletRequest的父接口,doFilter()方法中request类型定义为父接口的类型是为了接收到更多子接口的实现类对象(多态性),此处request强制转换为HttpServletRequest是因为传过来的request对象本来就是HttpServletRequest的实现类对象。
此处用了多态性的性质通过ServletRequest接收到了HttpServletRequest的实现类对象
转换回HttpServletRequest类型的好处是,在运行时可以用到更多的方法
此处用了多态性的性质通过ServletRequest接收到了HttpServletRequest的实现类对象
转换回HttpServletRequest类型的好处是,在运行时可以用到更多的方法
2017-11-26