javaweb登陆过滤器实现
在web.xml中配置登陆过滤器:
<!-- 配置登陆过滤器 -->
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>weijiabin.BBS.Utils.LoginFilter</filter-class>
<init-param>
<param-name>passUrl</param-name>
<param-value>index;login;FunctionServlet</param-value>
</init-param>
</filter> <filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上边代码中的param-value用来设置不进行拦截的地址关键字(以;作为分隔符),在下边过滤器代码中用passUrl表示 然后写过滤器代码:
public class LoginFilter implements Filter { @Override
public void destroy() {
// TODO Auto-generated method stub }
String passUrl = "";
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
HttpServletRequest httpRequest=(HttpServletRequest)arg0;
HttpServletResponse httpResponse=(HttpServletResponse)arg1;
HttpSession session=httpRequest.getSession();
String[] strArray = passUrl.split(";");
//下边循环作用是依次检查访问的url中是否包含passurl中的关键字,如果包含则不进行拦截
for (String str : strArray) {
if (str.equals(""))//如果在上边配置中设置的url为空,则说明都需要进行拦截,跳过此循环
continue;
if (httpRequest.getRequestURL().indexOf(str) >= 0) {
arg2.doFilter(httpRequest, httpResponse);
return;
}
} if(session.getAttribute("sessionUser")!=null){
arg2.doFilter(httpRequest, httpResponse);
}
else{
httpResponse.sendRedirect(httpRequest.getContextPath()+"/login.jsp");
}
} @Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
passUrl = arg0.getInitParameter("passUrl");
}
}
javaweb登陆过滤器实现的更多相关文章
- javaweb——登陆权限过滤器的编写
http://blog.csdn.net/lzc4869/article/details/50935858
- [javaweb]Java过滤器与包装设计模式的实用案例.
在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以使用Decorator(装饰器)模式对request.response对象进行包装,再把包装对象传给目 ...
- JavaWeb基础—过滤器Filter
一.概念 JavaWeb三大组件之一(组件都有一个特性,需要在web.xml中配置) 过滤器:会在一组资源(jsp servlet等)的前面执行,可以让请求得到目标资源,也可以终止请求,不再继续 也就 ...
- JavaWeb 之过滤器
1. 什么是过滤器 Servlet 是用来处理请求的, 过滤器是用来拦截请求的. 当用户请求某个 Servlet 时,会先执行部署在这个请求上的 Filter, 而 Filter 决定是否调用 Ser ...
- IT兄弟连 JavaWeb教程 过滤器3
过滤器案例:字符编码过滤器 在JavaWeb程序开发中,由于Web容器内部所使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码现象. 图3 无字符编码过滤器 从上图可以看出 ...
- IT兄弟连 JavaWeb教程 过滤器1
Servlet过滤器是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强,监听器可以监听到Web应用程序启动和关闭.创建过滤器和监听器需要继承相应接口,并对其进行配置. ...
- JavaWeb——Filter过滤器
1.Filter的目的 Filter用于在Servlet之前检测和修改请求和响应,它可以拒绝.重定向或转发请求.常见的有这几种: 日志过滤器 使用过滤器记录请求,提供请求日志记录,还可以添加追踪信息用 ...
- JavaWeb 10_Filter过滤器
一.什么是Filter? 1.Filter 过滤器它是JavaWeb的三大组件之一-.三大组件分别是: Servlet 程序.Listener 监听器.Filter 过滤器2.Filter 过滤器它是 ...
- javaweb 登陆注册页面
视图的数据修改,表中也修改引用工具类用<%@ page import=""%> <%@ page import="java.util.Date" ...
随机推荐
- 字符串匹配(一)----Rabin-Karp算法
题目:假如要判断字符串A"ABA"是不是字符串B"ABABABA"的子串. 解法一:暴力破解法, 直接枚举所有的长度为3的子串,然后依次与A比较,这样就能得出匹 ...
- [Swift]LeetCode848. 字母移位 | Shifting Letters
We have a string S of lowercase letters, and an integer array shifts. Call the shift of a letter, th ...
- Python内置函数(44)——next
英文文档: next(iterator[, default]) Retrieve the next item from the iterator by calling its __next__() m ...
- Qt5模块简介
原文链接:Qt5 模块简介 无意中看到这篇文章,虽然讲的不是经常用的东西,但是看了这篇文章之后,可以对qt有个大致的了解,能够清晰的知道自己想要什么,应该关注那一部分,学习了,相信以后会又很大 ...
- sql server 性能调优之 死锁排查
一.概述 记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了.现总结下查看死锁的常用二种方式. 1.1 第一种是图形化监听: sqlserve ...
- 【Python3爬虫】网易云音乐爬虫
此次的目标是爬取网易云音乐上指定歌曲所有评论并生成词云 具体步骤: 一:实现JS加密 找到这个ajax接口没什么难度,问题在于传递的数据,是通过js加密得到的,因此需要查看js代码. 通过断掉调试可以 ...
- Asp.Net SignalR 集线器不使用代理的实现
不使用生成代理JS的实现 可能有同学会觉得使用集线器很麻烦,要么引入虚拟目录,要么在生成期间生成js文件,再引入js文件进行开发.难道就没有比较清爽的方式吗?这个当然是有的,先不要(。・∀・)ノ゙嗨皮 ...
- ELK-ElasticSearch索引详解
1.使用_cat API检测集群是否健康,确保9200端口号可用: curl 'localhost:9200/_cat/health?v' 注意:绿色表示一切正常,黄色表示所有的数据可用但是部分副本还 ...
- 模拟实现 DBUtils 工具 , 技术原理浅析
申明:本文采用自己 C3P0 连接池工具进行测试 自定义的 JDBCUtils 可以获取 Connection: package com.test.utils; import java.sql.Con ...
- 爬虫入门(三)——动态网页爬取:爬取pexel上的图片
Pexel上有大量精美的图片,没事总想看看有什么好看的自己保存到电脑里可能会很有用 但是一个一个保存当然太麻烦了 所以不如我们写个爬虫吧(๑•̀ㅂ•́)و✧ 一开始学习爬虫的时候希望爬取pexel上的 ...