`

给JSP页面加过滤器

阅读更多
很简单的一个功能,如果用户没有登录之前访问其他页面时转到登录页面.用过滤器来实现.
一、在web-xml 中添加:
<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>

实现类的代码如下:
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;
	}

}


获得login路径的过程:
"http://"  +  hreq.getServerName()  +  ":"  +  hreq.getServerPort()  +hreq.getContextPath()+ "/login.jsp"; 
分享到:
评论
2 楼 yzh54ak 2009-02-11  
up

 
1 楼 zq0459 2008-03-18  
不要太迷人

相关推荐

    jsp中文问题过滤器实现源码

    通过servlet过滤器来解决request的编码的设置。这个方法不需要改动原来的代码,比较好。现成的写好的过滤器代码,只要把它编译一下就可以用了.

    如何配置Filter过滤器处理JSP中文乱码

    配置Filter过滤器处理JSP中文乱码 参考Tomcat服务器目录webapps的examples示例 简单配置步骤: 1.在项目web.xml文件添加过滤器标记和; 2.实现过滤器代码; 3.对Tomcat服务器conf目录里的Server.xml文件配置...

    JSP存储过程过滤器用例

    1 用过滤器实现数据初始化 2 用过滤器实现中文编码转换 3 用servlet实现页面控件 4 sql2005 由于sql2000不支持对text类型的查询.sql2005则支持. 5 HashMap是随机从中取数据的.而采用LinkedHashMap即链表...

    过滤器,Jsp开发中的避免中文乱码

    过滤器,Jsp开发中的避免中文乱码,对开发十分重要!!!

    jsp过滤器(编码)

    在配置文件中设置编码,防止其它页面称为乱码。里面有代码示例。

    jsp filter 过滤器功能与简单用法示例

    过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。 在客户端的请求访问后端资源之前,拦截这些请求。 在服务器的响应发送回客户端之前,处理这些响应。 过滤器的实现要实现 java.servlet.Filter 这个...

    servlet过滤器配置,解决JSP的所有乱码

    JSP页面获得sercvlet是不是经常出现乱码呢?很烦人哦,那就试试这个吧,可以解决所有的乱码,里面有说明教你怎么配.

    JavaWeb页面过滤器之编码过滤

    用MyEclipse 8.5 开发的JavaWeb页面编码过滤器.支持所有web页面,包括servlet

    JSP利用过滤器解决request中文乱码问题

    主要介绍了JSP利用过滤器解决request中文乱码问题,感兴趣的小伙伴们可以参考一下

    过滤器的一个登录demo

    通常在一个网站中,用户想要访问一些信息,需要用户是我们网站中... 因此在本次实战中,就要求当用户访问我们的主页面的时候,需要用过滤器验证一下其是否登录过,要是其登陆过就能直接访问,否则跳转到登录界面中去。

    servlet+jsp实现过滤器 防止用户未登录访问

    一种是在jsp页面进行session的判断,如果不存在该用户的session,就跳转到登录页面,否则执行jsp页面代码,但是你会发现这样做逻辑也简单,但是非常麻烦,如果有很多个jsp,那么就要写多个判断。 另一种则是利用过滤...

    详解JSP中使用过滤器进行内容编码的解决办法

    详解JSP中使用过滤器进行内容编码的解决办法 问题 当通过JSP页面,向数据库中插入记录的时候,可能因为JSP页面编码原因,导致插入到数据库中的新纪录出现乱码。因此需要对JSP页面中的内容进行编码操作,从而保证与...

    Servlet过滤器机制分析及应用

    通过在请求/响应链中使用过滤器,可以对应用程序 (而不是以任何方式替代)的Servlet或JSP页面提供的核心处理进行补充,而不会破坏Servlet或JSP页面的功能。由于是纯Java实现,所以Servlet过滤器是跨平台的模块化...

    简单的JSP登入过滤器类写法

    简单的登入过滤方法,实现图片过来,登入页面过滤的一个简单方法

    5个Servlet过滤器实例源码(JSP)

    Servlet过滤器大全,各种详细使用的代码! 一、字符编码的过滤器 二、使浏览器不缓存页面的过滤器 三、检测用户是否登陆的过滤器 四、资源保护过滤器 五 利用Filter限制用户浏览权限

    Web应用与开发作业

    实现一个禁止缓存的过滤器。 要求和提示: (1)禁止浏览器缓存所有动态页面; (2)有3个http响应头字段可以禁止浏览器缓存当前页面,它们在Servlet中的示例代码如下。 response.setDateHeader("Expires",-1); ...

    JSP页面传值乱码过滤方法

    本文实例讲述了JSP页面传值乱码过滤方法。分享给大家供大家参考,具体如下: 1.过滤器类: package com.token.t1; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; ...

    Java servlet过滤器配置详解

    开发中总结的通用过滤器配置,包括EncodingFilter类、jsp页面配置和web.xml文件的配置代码

    JSP使用过滤器防止Xss漏洞

    在用java进行web业务开发的时候,对于页面上接收到的参数,除了极少数是步可预知的内容外,大量的参数名和参数值都是不会出现触发Xss漏洞的字符。...那就是利用Servlet的过滤器机制,编写定制的Xss

    JSP里web.xml实现错误处理页面的制作404,和500

    JSP里web.xml实现错误处理页面的制作404,和500

Global site tag (gtag.js) - Google Analytics