Spring 过滤器、分发器结合实现 只对某种类型数据 在 Ajax调用时候 进行过滤
来源:互联网 发布:在端口1433连接失败 编辑:程序博客网 时间:2024/06/14 20:54
在Spring开发过程中,我们经常需要对 页面调用的数据进行过滤,如果用户未登入,则返回空,如果登入 则,后台返回数据。
<filter> <display-name>AjaxCheckSession</display-name> <filter-name>AjaxCheckSession</filter-name> <filter-class>com.phicomm.security.AjaxCheckSession</filter-class> </filter> <filter-mapping> <filter-name>AjaxCheckSession</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>
web.xml 分发器 配置如下
<servlet> <servlet-name>mes-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/mes-dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mes-dispatcher</servlet-name> <url-pattern>*.do</url-pattern> <url-pattern>*.specialdo</url-pattern> </servlet-mapping>
(1):控制层里面的方法,可以通过 ./xxxxx.do 或者 ./xxxxx.specialdo 来取控制层里面的数据。
(2):可以编写过滤器,只对 Ajax 请求 xxxx/xxxx.do 进行过滤,如果用户未登入 则返回空,如果用户登入 则返回数据 。
import java.io.IOException;import java.util.List;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;public class AjaxCheckSession implements Filter {public AjaxCheckSession() {}public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest httprequest = (HttpServletRequest) request;HttpServletResponse httpresponse = (HttpServletResponse) response;if (httprequest.getHeader("x-requested-with") != null&& httprequest.getHeader("x-requested-with").equals("XMLHttpRequest")) {// System.out.println("XMLHttpRequest----------");String strUser = (String) httprequest.getSession().getAttribute("user_id");List<String> listGroup = (List<String>) httprequest.getSession().getAttribute("listgroupid");if (strUser == null || strUser.length() <= 0) {httpresponse.setHeader("sessionstatus", "timeout");return;}if (listGroup == null || listGroup.isEmpty()){httpresponse.setHeader("sessionstatus", "timeout");return;}httpresponse.setHeader("sessionstatus", "timeok");}chain.doFilter(request, response);}public void init(FilterConfig fConfig) throws ServletException {}}
Spring分发器 可以配置多种分发器类型。
添加多个 url-pattern
如下:
<servlet-mapping> <servlet-name>mes-dispatcher</servlet-name> <url-pattern>*.do</url-pattern> <url-pattern>*.specialdo</url-pattern> </servlet-mapping>
0 0
- Spring 过滤器、分发器结合实现 只对某种类型数据 在 Ajax调用时候 进行过滤
- 过滤器的使用,这个方法可以在选择对象时候过滤到其他的只选自己想要的类型。
- EditText结合过滤器Fileter实现数据过滤效果的设计
- Shiro和Spring结合对请求路径进行过滤和记住我过滤操作
- 在Spring中结合Dbunit对Dao进行集成单元测试
- 写一个过滤器,不想对某些文件进行过滤,在web.xml中的配置
- spring mvc 4.x 版本在返回给ajax调用的json数据时候,出现中文显示???的处理方法
- 过滤器链、过滤器链调用原理与顺序、过滤器配置细节、过滤器过滤类型
- 在EXCEL中实现对数据的过滤统计
- 1122 sizeof只对类型进行操作
- 用过滤器对jsp页面中的敏感字段进行过滤
- 使用过滤器对所有请求进行字符编码过滤
- spring mvc 过滤器关于AJAX的过滤验证
- Spring MVC @JsonView实现在消息转换器中过滤数据
- 用过滤器对页面数据进行压缩
- 对DataTable数据进行查询过滤
- Jersey实现对方法进行过滤拦截
- 半透明或过滤某种颜色的实现
- 第二天:JAVA中的常用数据类型
- Mac 电脑笔记本快速锁屏 锁屏快捷键
- SQL四种语言:DDL,DML,DCL,TCL
- PL/SQL Developer的调试存储过程
- oracl执行sql文件及执行乱码解决
- Spring 过滤器、分发器结合实现 只对某种类型数据 在 Ajax调用时候 进行过滤
- 查端口和释放端口一些命令
- 关于volatile和cas
- Bootstrap学习(二)——Bootstrap 布局组件
- iOS APP提交审核,关于第三方登录被拒的那些事儿
- Sphinx使用及近实时索引实现
- HashMap的四种遍历方式
- 两年多工作心得和体会
- bzoj1996(区间dp)