***************防止直接输入URL进入系统*****************************
package org.hs.common.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 AuthFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
/**
* 1,doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括*
* 表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过*
* 滤器中忽略此参数。最后一个参数为FilterChain,此参数用来调用servlet或JSP页。
*/
HttpServletRequest request = (HttpServletRequest) servletRequest;
/**
* 如果处理HTTP请求,并且需要访问诸如getHeader或getCookies等在ServletRequest中*
* 无法得到的方法,就要把此request对象构造成HttpServletRequest
*/
HttpServletResponse response = (HttpServletResponse) servletResponse;
String currentURL = request.getRequestURI();
System.out.println("currentURL::"+currentURL);
// 取得根目录所对应的绝对路径:
String targetURL = currentURL.substring(currentURL.indexOf("/", 1),
currentURL.length());
System.out.println("targetURL:"+targetURL);
// 截取到当前文件名用于比较
HttpSession session = request.getSession(false);
if (!"/jxkh/login.jsp".equals(targetURL)) {// 判断当前页是否是重定向以后的登录页面页面,如果是就不做session的判断,防止出现死循环
if (session == null || session.getAttribute("login_user") == null) {
// *用户登录以后需手动添加session
System.out.println("request.getContextPath()="
+ request.getContextPath());
response.sendRedirect(request.getContextPath() + "/jxkh/login.jsp");
// 如果session为空表示用户没有登录就重定向到login.jsp页面
return;
}
}
// 加入filter链继续向下执行
filterChain.doFilter(request, response);
/**
* 调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作* 为它
* 的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另*
* 一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。
*/
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
分享到:
相关推荐
对了安装时候在WEB上安装,直接输入URL,例如:http://127.0.0.1/jobmng/setup.asp初...业拿?郑┖呛恰?/a>本套程序版本是ACCESS版,也是当初设计这套程序的最早版。有一些**能还没有完善,例如请假、出差等**能。本...
支持歌词,完全支持lrc歌词,用户可以直接上传歌词文件或者直接输入lrc歌词文本。每张专辑的音乐支持内部排序。 5、强大的文件上传和留言管理功能。系统上次的每一个文件都入库,用户可以方便上次和删除。对专辑、...
可有两种方法进入后台管理页面:直接在浏览器的地址栏中输入管理登录的页面地址:admin/login.asp。 默认管理员:admin 密码:admin 请登录后立即修改管理员用户名及密码。 <br>2) 不能运行冠龙科技...
2、我们阅读并接受此协议,进入下一步 [也可以直接输入地址http://localhost/install/ (对于再次安装可以用这个)]; 3.然后进入1检测环境,检测服务器环境是否满足安装TuziCMS,满足则点击“下一步”按钮; 4、...
7.发贴增加UBB方法:[buyrmb=RMB数]输入内容[/buyrmb] 直接用直实的RMB购买贴。 8.WAP在线支付,由于支付宝升级将WAP支付宝和网银合在一起了。所以本系统也一起合并了。 网银支付可以在WAP支付宝页面中找到:快捷...
进程入口函数在进行必要的命令行参数处理和系统初始化以后,进入网络爬虫 的多路输入输出循环,一旦发现某个与服务器相连的套接字有数据可读,即创WEBCRAWLER 网络爬虫实训项目 10 建接收线程,后者负责抓取页面内容...
使用基于文本的输入(text、textarea、e—mail、URL、number)143 使用checkbox输入144 使用radio输入145 使用select输入145 提供简单的字符串options145 利用ngOptions指令提供动态options146 select指令与空...
Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 ...
113.支持论坛密码访问功能,进入此类论坛需要输入密码,并自动保存访问cookie,并加入防止恶意破坏密码功能 114.支持设定是否允许多媒体标签,头像,图像,是否允许HTML等功能 115.允许设定过滤的内容,以|符号间隔 ...
19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 打印当前页 19.19 打印预览 19.20 隐藏不想打印的页面内容 19.21 使用ExecWB直接打印 19.22 动态绑定XML文件 19.23 Kill Excel的进程 ...
19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 打印当前页 19.19 打印预览 19.20 隐藏不想打印的页面内容 19.21 使用ExecWB直接打印 19.22 动态绑定XML文件 19.23 Kill Excel的进程 ...
对网络实名进行增强,可以实现在地址栏输入实名后直接进入实名标识的网站,实名查找数据分别来自3721、百度搜索以及CNNIC网络中心。但没有找到实名时会采用用户定义的搜索引擎进行搜索。IE助手允许用户定义...
94.自动判断用户头像的url地址,如果是本地链接,则自动判断本地图像是否存在, 图像格式和图像大小 95.允许管理员设定论坛名称 96.允许论坛安装主页网址自动获取,安装目录需要另外设定 97.允许设定图像上传目录 ...
1 解压后,将文件上传到虚拟空间或在本机IIS设置好后(有关IIS的设置请查看多多通或在百度上搜索一下一定会有的),即可直接访问 index.asp ,img 目录下的1、2、3、4、5目录是模版目录,管理员在后台版块管理设置,...
防止变量被垃圾回收器重定位。 (5) lock lock 关键字将某个语句块标记为临界区。 6. 方法参数 如果为没有 ref 或 out 的方法声明一个参数,则此参数可以具有关联的值。可以在方法中更改该值,但当控制传递回调用过程...
将电路板URL设置为用于访问WebREPL的URL(如果您不确定,则保留默认值,这是大多数WebREPL连接使用的)。 在密码字段中输入您在设置和访问WebREPL时设置的密码。 您可以使用页面上的字段控制灯光的动画: 动画 - 此...
4.输入QC的URL地址 5.输入项目管理员的名称和密码 6.选择要导入需求的域和项目 7.选择第一项,导入需求。请注意:此工具可以同时支持案例导入和缺陷导入,如果需要导入的是案例,应选择Tests;如果需要导入的是缺陷,...
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...