很简单的一个功能,如果用户没有登录之前访问其他页面时转到登录页面.用过滤器来实现.
一、在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页面加过滤器相关推荐

  1. java 拦截jsp页面_JSP 过滤器

    JSP 过滤器 JSP 和 Servlet 中的过滤器都是 Java 类. 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 可以将一个或多个过滤器附加到一个 Servlet 或 ...

  2. jsp页面加载时自动执行action

    2012-01-17 13:50 470人阅读 评论(0) 收藏 举报 比如当我进入首页时,就要将数据库中的一些数据加载到welcome.jsp页面中,但是刚进入页面时,是没有执行action的,所以 ...

  3. jsp页面加载的时候,从后台获取数据,页面加载完成之后,下拉列表中已经有值

    在jsp中,我们经常会遇到这种情况:当页面加载完成之后,下拉列表中已经有数据,这是怎么实现的呢? 下面作以详解: 1.<body οnlοad="fun()">:在js ...

  4. 百度地图在jsp页面加载大量轨迹导致地图卡顿

    原画线方式: //存储大量点轨迹json数组:historyPathList for(var i=0;i<historyPathList.length-1;i++){ drawColorLine ...

  5. jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除

    jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除 一.使用背景 二.核心代码 2.1a标签 2.2js代码 三.运行的相关文件 3.1common.jsp 3.2index.jsp 3.3 ...

  6. 关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序

    关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序 1.修改自己过滤器中对编码格式的修改 如图: 代码如下: public void doFilter(ServletRequest ...

  7. servlet和jsp页面过滤器Filter的作用及配置

    刚刚有个朋友问我,Servlet的过滤器有什么作用? 现在发个帖子说明一下,            过滤器是一个对象,可以传输请求或修改响应.它可以在请求到达Servlet/JSP之前对其进行预处理, ...

  8. Jsp页面用javascript加 滑动验证条

    先上个效果图 1. 在head之间加入 <head> <script type="text/javascript" charset="utf-8&quo ...

  9. jsp页面数据加载的两种方式

    JSP数据加载的两种方式 第一种: 三层架构写在controller的页面跳转前面,set到request域中 request.setAttribute("name", list) ...

最新文章

  1. GitHub与Git入门
  2. R语言为dataframe添加新的数据列(add new columns):使用R原生方法、data.table、dplyr等方案
  3. php代码审计工具_【学习笔记】PHP代码审计入门:代码审计实例2
  4. kafka实战最佳经验,【源码分析设计模式 10
  5. nohup 不生成日志_js页面触发chargeRequest事件和Nginx获取日志信息
  6. 使用Jedis出现Connection refused的解决方案
  7. 使用javascript来实现最原始的ajax操作
  8. [今日白学]组件的基础的基础的基础
  9. Java类与对象——几个课堂例子的总结及作业
  10. 君正T31 ACC解码
  11. 非参数统计单样本非参数检验之符号检验
  12. 计算机硬盘中有许多碎片,电脑磁盘碎片整理有什么用(需要经常清理吗)
  13. OSCP - Typhoon 1.02 的破解
  14. Android青翼蝠王之ContentProvider
  15. 检查两个单词是否为变位词(Anagram)
  16. POI读取word里面的表格并处理数据
  17. 帝国cms模板仿百度贴吧
  18. Ubuntu系统下C语言编译以及Makefile编译C语言程序
  19. java dump文件怎么生成和分析-JMAP用法
  20. matlab创新开放性实验,基于MATLAB 的自动控制原理实验仿真系统的设计

热门文章

  1. WebApi接口 - 响应输出xml和json 转
  2. hdu 3339 In Action 背包+flyod
  3. mySQL教程 第1章 数据库设计
  4. Installshield x:实现序列号检验,获取用户信息并写入指定_ini文件1 - 子夜 MySpace聚友博客...
  5. 小白学编程“Java小白”入门解疑大全
  6. 四、spring中高级装配(2)
  7. dubbo学习之服务消费者
  8. POJ 1273 (基础最大流) Drainage Ditches
  9. SQL语句实现两个数据库表直接操作
  10. Python笔记(3)