javaWeb(十三)Demo:Filter实现自动登陆功能(Myeclipse+JSP+Servlet+EL/JSTL+Filter)

本文介绍如何在JavaWeb应用中利用Filter实现自动登录功能。通过获取Cookie中的用户名和密码信息,在Filter中直接处理登录逻辑,避免用户进入登录页面。文中提供源代码,并提及使用BeanUtils简化Servlet中的值获取,但需要注意BeanUtils不支持Date类型转换,需自定义MyDateConverter类进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Filter实现自动登陆功能

源代码:source code

思路图:
在这里插入图片描述

  • 就是在服务器和显示界面之间添加一个过滤器(这里过滤范围其实是全局),获取cookie里面的用户名和密码,然后直接在Filter里面登陆(就不要去登陆页面了)
  • 登陆页面主要是看你的session里面有没有这个用户(这里是封装成了一个javaBean的类),如果有,显示欢迎登陆,如果没有,跳转到登陆页面(类似京东的那种首页)
  • 具体的实现在源代码里已经写了很详细了,这里还用到了BeanUtils类可以不用在Servlet中一个一个地取值,需要导包:
    BeanUtils的Jar包
    这个有个小问题就是这个BeanUtilsN不能解析Date类,所以需要加一下的代码到工程里:
ConvertUtils.register(new MyDateConverter(), Date.class);

MyDateConverter类的代码:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.beanutils.Converter;

public class MyDateConverter implements Converter {

	@Override
	public Object convert(Class c, Object value) {
		String strVal = (String) value;
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		try {
			Date date = dateFormat.parse(strVal);
			return date;
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值