给JSP页面加过滤器
很简单的一个功能,如果用户没有登录之前访问其他页面时转到登录页面.用过滤器来实现.
一、在web-xml 中添加:
[code]
<filter><!-- 是否登录用户的验证filter -->
<filter-name>author</filter-name>
<filter-class>lw.filter.AuthorFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>author</filter-name>
<url-pattern>/grsz/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>author</filter-name>
<url-pattern>/khcx/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>author</filter-name>
<url-pattern>/khpf/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>author</filter-name>
<url-pattern>/tjbb/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>author</filter-name>
<url-pattern>/tjjs/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>author</filter-name>
<url-pattern>/main.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>author</filter-name>
<url-pattern>/top.jsp</url-pattern>
</filter-mapping>
[/code]
实现类的代码如下:
[code]
package lw.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 AuthorFilter implements Filter {
private String strRedirect = "";
protected FilterConfig filterConfig;
public void destroy() {
// TODO Auto-generated method stub
this.filterConfig = null;
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest hreq = (HttpServletRequest) req;
HttpServletResponse hres = (HttpServletResponse) res;
HttpSession session = hreq.getSession(true);
String isLogin = "";
strRedirect = "http://" + hreq.getServerName() + ":" + hreq.getServerPort() +hreq.getContextPath()+ "/login.jsp";
System.out.println("web URL 路径:"+strRedirect);
try {
if (null != session.getAttribute("isLogin")) {
isLogin = session.getAttribute("isLogin").toString();
}
if (isLogin.equals("true")) {
System.out.println("验证通过");
chain.doFilter(req, res);
} else {
hres.sendRedirect(strRedirect);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
this.filterConfig = arg0;
}
}
[/code]
获得login路径的过程:
"http://" + hreq.getServerName() + ":" + hreq.getServerPort() +hreq.getContextPath()+ "/login.jsp";
给JSP页面加过滤器相关推荐
- java 拦截jsp页面_JSP 过滤器
JSP 过滤器 JSP 和 Servlet 中的过滤器都是 Java 类. 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 可以将一个或多个过滤器附加到一个 Servlet 或 ...
- jsp页面加载时自动执行action
2012-01-17 13:50 470人阅读 评论(0) 收藏 举报 比如当我进入首页时,就要将数据库中的一些数据加载到welcome.jsp页面中,但是刚进入页面时,是没有执行action的,所以 ...
- jsp页面加载的时候,从后台获取数据,页面加载完成之后,下拉列表中已经有值
在jsp中,我们经常会遇到这种情况:当页面加载完成之后,下拉列表中已经有数据,这是怎么实现的呢? 下面作以详解: 1.<body οnlοad="fun()">:在js ...
- 百度地图在jsp页面加载大量轨迹导致地图卡顿
原画线方式: //存储大量点轨迹json数组:historyPathList for(var i=0;i<historyPathList.length-1;i++){ drawColorLine ...
- jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除
jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除 一.使用背景 二.核心代码 2.1a标签 2.2js代码 三.运行的相关文件 3.1common.jsp 3.2index.jsp 3.3 ...
- 关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序
关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序 1.修改自己过滤器中对编码格式的修改 如图: 代码如下: public void doFilter(ServletRequest ...
- servlet和jsp页面过滤器Filter的作用及配置
刚刚有个朋友问我,Servlet的过滤器有什么作用? 现在发个帖子说明一下, 过滤器是一个对象,可以传输请求或修改响应.它可以在请求到达Servlet/JSP之前对其进行预处理, ...
- Jsp页面用javascript加 滑动验证条
先上个效果图 1. 在head之间加入 <head> <script type="text/javascript" charset="utf-8&quo ...
- jsp页面数据加载的两种方式
JSP数据加载的两种方式 第一种: 三层架构写在controller的页面跳转前面,set到request域中 request.setAttribute("name", list) ...
最新文章
- GitHub与Git入门
- R语言为dataframe添加新的数据列(add new columns):使用R原生方法、data.table、dplyr等方案
- php代码审计工具_【学习笔记】PHP代码审计入门:代码审计实例2
- kafka实战最佳经验,【源码分析设计模式 10
- nohup 不生成日志_js页面触发chargeRequest事件和Nginx获取日志信息
- 使用Jedis出现Connection refused的解决方案
- 使用javascript来实现最原始的ajax操作
- [今日白学]组件的基础的基础的基础
- Java类与对象——几个课堂例子的总结及作业
- 君正T31 ACC解码
- 非参数统计单样本非参数检验之符号检验
- 计算机硬盘中有许多碎片,电脑磁盘碎片整理有什么用(需要经常清理吗)
- OSCP - Typhoon 1.02 的破解
- Android青翼蝠王之ContentProvider
- 检查两个单词是否为变位词(Anagram)
- POI读取word里面的表格并处理数据
- 帝国cms模板仿百度贴吧
- Ubuntu系统下C语言编译以及Makefile编译C语言程序
- java dump文件怎么生成和分析-JMAP用法
- matlab创新开放性实验,基于MATLAB 的自动控制原理实验仿真系统的设计
热门文章
- WebApi接口 - 响应输出xml和json 转
- hdu 3339 In Action 背包+flyod
- mySQL教程 第1章 数据库设计
- Installshield x:实现序列号检验,获取用户信息并写入指定_ini文件1 - 子夜 MySpace聚友博客...
- 小白学编程“Java小白”入门解疑大全
- 四、spring中高级装配(2)
- dubbo学习之服务消费者
- POJ 1273 (基础最大流) Drainage Ditches
- SQL语句实现两个数据库表直接操作
- Python笔记(3)