filter是web三大组件之一,可以动态地拦截url请求和响应, 以便查看、提取或操作包含在url请求和响应中的信息。
(24条消息) Filter过滤器~~~编码过滤和登陆验证_CD4356的博客-优快云博客
1.首先要定义request和response对象,这样就可以使用HttpServletRequest和HttpServletResponse中定义的所有方法了
2.response.setContentType("text/html");然后将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。(当前项目主要用来设置编码格式为utf-8)
3.通过步骤1得到的request对象创建session
注:request.getSession ()可以帮你得到HttpSession类型的对象,通常称之为session对象,session对象的作用域为一次会话,通常浏览器不关闭,保存的值就不会消失,当然也会出现session超时。
4.通过步骤1得到的response对象创建out对象调用getWriter()方法
注:在 servlet 里 PrintWriter out = response.get Write r () 从Http ServletResponse中 get一个 PrintWriter,取一个响应客户端的流对象 打个通俗的比方就是通过Http ServletResponse 对象得到一支笔,然后就可以用out.print ()方法在网页上写任何你想显示的内容。
5.获取网页请求url(用来后续进行判断当前页面是否是登录或者注册页面,如果是就放行,否则拦截下来重定向到登录页面。)
6.最后拦截器根据具体情况进行多次拦截放行
它可以指向下一个资源,如果还有过滤器,则继续进行下一次的过滤,如果没有过滤器,则会指向资源(servlet)。
该项目中判断部分,先判断该处是否为null,如果不是则放行,进入过滤器2(将得到的请求url与登录和注册页面的url对比),如果值相同则放行。 如果不是,则重定向到登录页面,并输出语句“请先登录"。
注:该项目最后不用重定向功能不齐全,所以直接放行。