jsp实现简单用户7天内免登录
本文实例为大家分享了jsp实现简单用户7天内免登录的具体代码,供大家参考,具体内容如下
(1)登陆页面:login.jsp
<%@ page language="java" contenttype="text/html; charset=utf-8"
pageencoding="utf-8"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>insert title here</title>
</head>
<body>
<form action="loginservlet" method="post">
用户名:<input type="text" name="username" value="${cookie.cook_name.value }"/><br/>
<input type="checkbox" name="chkcookie" value="7"/>记住我,7天内免登录<br/>
<input type="submit" value="登录"/><br/>
<a href="sessionuser.jsp" rel="external nofollow" >验证session</a>
<a href="cookieuser.jsp" rel="external nofollow" >验证cookie</a>
</form>
</body>
</html>
(2)跳转页面:cookieuser.jsp
<%@ page language="java" contenttype="text/html; charset=utf-8"
pageencoding="utf-8"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>insert title here</title>
</head>
<body>
<%
//从浏览器获取cookie
cookie[] cookies = request.getcookies();
string uname = null;
//判断语句条件小技巧
if(null != cookies){
for(cookie cookie:cookies){
//遍历本地浏览器中的所有cookie
if(cookie.getname().equals("cook_name")){
//把cookie中的用户名取出
uname = cookie.getvalue();
}
//out.print("<p>name: " + cookie.getname()+"</p>");
//out.print("<p>value: " + cookie.getvalue()+"</p>");
}
}
//判断cookie有没有失效
if(null != uname){
out.print("<p>用户名:"+uname +"</p>");
}
else{
response.sendredirect("login.jsp");
}
%>
</body>
</html>
(3)servlet文件:loginservlet类
package com.servlet;
import java.io.ioexception;
import javax.servlet.servletexception;
import javax.servlet.annotation.webservlet;
import javax.servlet.http.cookie;
import javax.servlet.http.httpservlet;
import javax.servlet.http.httpservletrequest;
import javax.servlet.http.httpservletresponse;
import javax.servlet.http.httpsession;
/**
* servlet implementation class loginservlet
*/
@webservlet("/loginservlet")
public class loginservlet extends httpservlet {
private static final long serialversionuid = 1l;
/**
* @see httpservlet#httpservlet()
*/
public loginservlet() {
super();
// todo auto-generated constructor stub
}
/**
* @see httpservlet#doget(httpservletrequest request, httpservletresponse response)
*/
protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {
// todo auto-generated method stub
//获取用户登录名
string username = request.getparameter("username");
//获取7天内是否免登录
string day7 = request.getparameter("chkcookie");
int cookie_day = 1;
if(null != day7 && day7.equals("")){
cookie_day = integer.valueof(day7);
}
//创建cookie
cookie cookie = new cookie("cook_name",username);
//设置cookie有限期
//cookie.setmaxage(6);//有效期6秒
cookie.setmaxage(3600 * 24 * cookie_day);//设置7天免登录
//写入cookie到浏览器
response.addcookie(cookie);
response.sendredirect("cookieuser.jsp");
}
/**
* @see httpservlet#dopost(httpservletrequest request, httpservletresponse response)
*/
protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {
// todo auto-generated method stub
doget(request, response);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持硕编程。
相关文章
- jsp+servlet实现文件上传与下载功能
- EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常
- 在JSP中使用formatNumber控制要显示的小数位数方法
- 秒杀系统Web层设计的实现方法
- 将properties文件的配置设置为整个Web应用的全局变量实现方法
- JSP使用过滤器防止Xss漏洞
- 在JSP页面中动态生成图片验证码的方法实例
- 详解JSP 内置对象request常见用法
- 使用IDEA编写jsp时EL表达式不起作用的问题及解决方法
- jsp实现局部刷新页面、异步加载页面的方法
- Jsp中request的3个基础实践
- JavaServlet的文件上传和下载实现方法
- JSP页面的静态包含和动态包含使用方法


