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;
}
}