过滤器
package com.xy.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class IsLoginFilter implements Filter
{
<wbr><wbr><wbr>public void destroy()<br><wbr><wbr><wbr>{<br><br><wbr><wbr><wbr>}<br><br><wbr><wbr><wbr>public void doFilter(ServletRequest req, ServletResponse resp, FilterChain<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> chain)throws IOException, ServletException<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr>HttpServletRequest request = (HttpServletRequest) req;<br><wbr><wbr><wbr><wbr><wbr><wbr>HttpServletResponse response = (HttpServletResponse) resp;<br><wbr><wbr><wbr><wbr><wbr><wbr>HttpSession session = request.getSession();<br><wbr><wbr><wbr><wbr><wbr><wbr>if (null == session.getAttribute("uinfo"))<br><wbr><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>request.setAttribute("msg", "您未登录或者离线时间过长,请重新登录");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>request.getRequestDispatcher("/ToLoginAction")<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> .forward(request, response);<br><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr><wbr>else<br><wbr><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>chain.doFilter(request, response);<br><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><br><wbr><wbr><wbr>public void init(FilterConfig arg0) throws ServletException<br><wbr><wbr><wbr>{<br><br><wbr><wbr><wbr>}<br><br>
}<br><br><br><span style="font-size:20px"><span style="font-weight:bold">login.jsp</span></span><br><br>
<input type="hidden" value="${requestScope.msg}" id="msg" /><br>
<script type="text/javascript"><br>
var msg = document.getElementByIdx_x("msg").value;<br>
if ("" != msg) {<br><wbr><wbr><wbr>alert(msg);<br>
}<br>
</script><br>
当然可以在js中直接获取${requestScope.msg}。<br><br><br><span style="font-weight:bold; font-size:20px">web.xml</span><br>
<filter><br><wbr><wbr><wbr><filter-name>login</filter-name><br><wbr><wbr><wbr><wbr><wbr><wbr><filter-class>com.xy.filter.IsLoginFilter</filter-class><br><wbr><wbr><wbr></filter><br><wbr><wbr><wbr><filter-mapping><br><wbr><wbr><wbr><wbr><wbr><wbr><filter-name>login</filter-name><br><wbr><wbr><wbr><wbr><wbr><wbr><url-pattern>/logined/*</url-pattern><br><wbr><wbr><wbr></filter-mapping><br>
</filter><br><br><br><br><br><br><span style="font-size:20px"><br style="font-weight:bold"></span><span style="font-size:20px"><span style="font-weight:bold">下面是拦截器</span></span><br><br>
package com.xy.interceptor;<br><br>
import javax.servlet.http.HttpSession;<br><br>
import org.apache.struts2.ServletActionContext;<br><br>
import com.opensymphony.xwork2.ActionInvocation;<br>
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;<br>
import com.xy.pojo.Manager;<br><br><span style="font-weight:bold">public class AuthInterceptor extends AbstractInterceptor</span><br>
{<br><wbr><wbr><wbr>@Override<br><wbr><wbr><wbr>public String intercept(ActionInvocation invocation) throws Exception<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr>HttpSession session = ServletActionContext.getRequest().getSession();<br><wbr><wbr><wbr><wbr><wbr><wbr>ServletActionContext.getRequest()<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> .setAttribute("loginMsg", "您未登录或者离线时间过长,请重新登录");<br><wbr><wbr><wbr><wbr><wbr><wbr>Manager login = (Manager) session.getAttribute("manager");<br><wbr><wbr><wbr><wbr><wbr><wbr>if (login != null) return invocation.invoke();<br><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
相关推荐
过滤器和拦截器区别过滤器和拦截器区别过滤器和拦截器区别过滤器和拦截器区别过滤器和拦截器区别
Struts 2 过滤器和拦截器的区别
拦截器和过滤器的区别,从实现原理到应用场景各处区别
该压缩包实现了利用过滤器或者拦截器对登录信息进行验证跳转登陆页的功能,利用的是SpringBoot和thymeleaf,使用前请先看使用说明
浅谈基于过滤器与拦截器的用户访问控制,stuts2中拦截器和过滤器的应用
1、在SpringBoot中如何实现自定义过滤器(Filter)和拦截器(Interceptor) 2、通过执行案例了解多个过滤器和拦截器的执行顺序 【本案例包含源码以及可执行的jar文件,源码文件建议使用IDEA进行导入查看学习,建议使用...
拦截器功在对请求权限鉴定方面确实很有用处,在我所参与的这个项目之中,第三方的远程调用每个请求都需要参与鉴定,所以这样做非常方便,而且他是很独立的逻辑,这样做让业务逻辑代码很干净。和框架的其他功能一样,...
过滤器也叫拦截器,在Web开发过程中,为了实现莫些特殊功能,经常要对请求和响应消息进行处理,本实例简单清晰的讲解了过滤起的使用。
Filter过滤器与Interceptor拦截器有很多相似
Spring Boot 整合Mybatis、Druid、PageHelper、Swagger 、AOP、过滤器、拦截器、thymeleaf 基础入门demo
主要介绍了struts2过滤器和拦截器的区别,简单分析了struts2框架中过滤器和拦截器的概念与相关使用区别,需要的朋友可以参考下
过滤器、拦截器、AOP、ControllerAdvcie的使用对比、执行顺序及代码教程的文章内的示例代码,文章...通过文章和这份代码,你可以学到过滤器、拦截器、AOP、ControllerAdvcie的基本使用方式,并了解到他们的执行顺序。
聊一聊过滤器与拦截器.doc
演示了过滤器捕获客户端发送的request请求,并对request请求进行分析处理,从而让后台得到处理后的请求
基于springboot的过滤器。拦截器,Aspect,定时器的简单使用/////////////////////////////////////////////////////////
过滤器,拦截器,监听的区别和作用,确切的说在什么情况下用哪种技术供大家学习。
今天小编就为大家分享一篇详谈springboot过滤器和拦截器的实现及区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
springboot2集成代码生成器、监听器、过滤器、拦截器、分布式定时任务、pagehelper