美文网首页
servlet--用户登录功能(含session,cookie和

servlet--用户登录功能(含session,cookie和

作者: 夏liao夏天 | 来源:发表于2017-09-13 23:23 被阅读0次

一.基本登录功能的实现

结构.jpg
从网页获得用户的名称及密码后,连接数据库进行比对,即可实现登录功能.为了让程序的可读性更好,这里采取将用户的基本信息都封装进UserBean.java,在UserBeanCk.java中对数据库进行操作,LoginCk.java中判断结果.
二.Session功能的实现
servlet中已经有关于session的一些函数,只需调用即可.

HttpSession hs=req.getSession(true);
hs.setMaxInactiveInterval(50);
hs.setAttribute("pass","ok");
String s=hs.getAttribute("pass");

getSession(true)函数为获得session的操作权限,setMaxInactiveInterval()函数为设置session失效的最大时间间隔,这里的间隔不是累计时间,而是距离最近一次刷新的时间.setAttribute()函数可以添加一些参数,比如保存用户名之类的,第一个参数是属性的名称,第二个参数是值.getAttribute()函数则可以根据属性的名称取出相应的值.
三.Cookie功能的实现

//将用户名和密码保存在客户端,cookie技术
Cookie name=new Cookie("myname",u);
Cookie pass=new Cookie("mypasswd",p);
//设置时间,单位为秒
name.setMaxAge(60);
pass.setMaxAge(60);
//回写到客户端
res.addCookie(name);
res.addCookie(pass);

四.ServletContext功能的实现(可以实现网站访问次数统计功能)

//登录成功,网站访问次数加1
if(this.getServletContext().getAttribute("visitTimes")!=null){
int times=Integer.parseInt(this.getServletContext().getAttribute("visitTimes").toString())+1;
this.getServletContext().setAttribute("visitTimes",times+"");
}else{
try{
System.out.println("init...");
//将文件中保存的访问次数保存到ServletContext
//创建一个FileReader
FileReader fr=new FileReader("D:/JavaEE/Apache Software Foundation/Tomcat 8.5/webapps/myWebSites/myCounter.txt");
BufferedReader br=new BufferedReader(fr);
//读出一行数据
String numVal=br.readLine();
//关闭文件流
br.close();
//从文件中获取访问次数times
int times=Integer.parseInt(numVal);
//将visitTimes属性的值设为times,为了将times转为String类型,所以在后面加一个空白的字串
this.getServletContext().setAttribute("visitTimes",times+"");
}catch(Exception ex){
ex.printStackTrace();
}
}

这里为代码

相关文章

网友评论

      本文标题:servlet--用户登录功能(含session,cookie和

      本文链接:https://www.haomeiwen.com/subject/dzzlsxtx.html