JSP的Cookie在登录中的使用

2023-12-05 0 396

JSP的Cookie在登录中的使用

一 功能需求

实现记忆用户名和密码功能。

二 代码

1、login.jsp

<%@ page language=\”java\” import=\”java.util.*,java.net.*\” contentType=\”text/html; charset=utf-8\”%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+\”://\”+request.getServerName()+\”:\”+request.getServerPort()+path+\”/\”;
%>

<!DOCTYPE HTML PUBLIC \”-//W3C//DTD HTML 4.01 Transitional//EN\”>
<html>
<head>
<base href=\”<%=basePath%>\” rel=\”external nofollow\” rel=\”external nofollow\” rel=\”external nofollow\” >

<title>My JSP \’index.jsp\’ starting page</title>
<meta http-equiv=\”pragma\” content=\”no-cache\”>
<meta http-equiv=\”cache-control\” content=\”no-cache\”>
<meta http-equiv=\”expires\” content=\”0\”>
<meta http-equiv=\”keywords\” content=\”keyword1,keyword2,keyword3\”>
<meta http-equiv=\”description\” content=\”This is my page\”>
<!–
<link rel=\”stylesheet\” type=\”text/css\” href=\”styles.css\” rel=\”external nofollow\” rel=\”external nofollow\” rel=\”external nofollow\” >
–>
</head>

<body>
<h1>用户登录</h1>
<hr>
<%
request.setCharacterEncoding(\”utf-8\”);
String username=\”\”;
String password = \”\”;
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals(\”username\”))
{
username = URLDecoder.decode(c.getValue(),\”utf-8\”);
}
if(c.getName().equals(\”password\”))
{
password = URLDecoder.decode(c.getValue(),\”utf-8\”);
}
}
}
%>
<form name=\”loginForm\” action=\”dologin.jsp\” method=\”post\”>
<table>
<tr>
<td>用户名:</td>
<td><input type=\”text\” name=\”username\” value=\”<%=username %>\”/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type=\”password\” name=\”password\” value=\”<%=password %>\” /></td>
</tr>
<tr>
<td colspan=\”2\”><input type=\”checkbox\” name=\”isUseCookie\” checked=\”checked\”/>十天内记住我的登录状态</td>
</tr>
<tr>
<td colspan=\”2\” align=\”center\”><input type=\”submit\” value=\”登录\”/><input type=\”reset\” value=\”取消\”/></td>
</tr>
</table>
</form>
</body>
</html>

2、dologin.jsp

<%@ page language=\”java\” import=\”java.util.*,java.net.*\” contentType=\”text/html; charset=utf-8\”%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+\”://\”+request.getServerName()+\”:\”+request.getServerPort()+path+\”/\”;
%>

<!DOCTYPE HTML PUBLIC \”-//W3C//DTD HTML 4.01 Transitional//EN\”>
<html>
<head>
<base href=\”<%=basePath%>\” rel=\”external nofollow\” rel=\”external nofollow\” rel=\”external nofollow\” >

<title>My JSP \’dologin.jsp\’ starting page</title>

<meta http-equiv=\”pragma\” content=\”no-cache\”>
<meta http-equiv=\”cache-control\” content=\”no-cache\”>
<meta http-equiv=\”expires\” content=\”0\”>
<meta http-equiv=\”keywords\” content=\”keyword1,keyword2,keyword3\”>
<meta http-equiv=\”description\” content=\”This is my page\”>
<!–
<link rel=\”stylesheet\” type=\”text/css\” href=\”styles.css\” rel=\”external nofollow\” rel=\”external nofollow\” rel=\”external nofollow\” >
–>

</head>

<body>
<h1>登录成功</h1>
<hr>
<br>
<br>
<br>
<%
request.setCharacterEncoding(\”utf-8\”);
//首先判断用户是否选择了记住登录状态
String[] isUseCookies = request.getParameterValues(\”isUseCookie\”);
if(isUseCookies!=null&&isUseCookies.length>0)
{
//把用户名和密码保存在Cookie对象里面
String username = URLEncoder.encode(request.getParameter(\”username\”),\”utf-8\”);
//使用URLEncoder解决无法在Cookie当中保存中文字符串问题
String password = URLEncoder.encode(request.getParameter(\”password\”),\”utf-8\”);

Cookie usernameCookie = new Cookie(\”username\”,username);
Cookie passwordCookie = new Cookie(\”password\”,password);
usernameCookie.setMaxAge(864000);
passwordCookie.setMaxAge(864000);//设置最大生存期限为10天
response.addCookie(usernameCookie);
response.addCookie(passwordCookie);
}
else
{
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals(\”username\”)||c.getName().equals(\”password\”))
{
c.setMaxAge(0); //设置Cookie失效
response.addCookie(c); //重新保存。
}
}
}
}
%>
<a href=\”users.jsp\” rel=\”external nofollow\” target=\”_blank\”>查看用户信息</a>

</body>

</html>

3、users.jsp

<%@ page language=\”java\” import=\”java.util.*,java.net.*\” contentType=\”text/html; charset=utf-8\”%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+\”://\”+request.getServerName()+\”:\”+request.getServerPort()+path+\”/\”;
%>

<!DOCTYPE HTML PUBLIC \”-//W3C//DTD HTML 4.01 Transitional//EN\”>
<html>
<head>
<base href=\”<%=basePath%>\” rel=\”external nofollow\” rel=\”external nofollow\” rel=\”external nofollow\” >

<title>My JSP \’users.jsp\’ starting page</title>

<meta http-equiv=\”pragma\” content=\”no-cache\”>
<meta http-equiv=\”cache-control\” content=\”no-cache\”>
<meta http-equiv=\”expires\” content=\”0\”>
<meta http-equiv=\”keywords\” content=\”keyword1,keyword2,keyword3\”>
<meta http-equiv=\”description\” content=\”This is my page\”>
<!–
<link rel=\”stylesheet\” type=\”text/css\” href=\”styles.css\” rel=\”external nofollow\” rel=\”external nofollow\” rel=\”external nofollow\” >
–>

</head>

<body>
<h1>用户信息</h1>
<hr>
<%
request.setCharacterEncoding(\”utf-8\”);
String username=\”\”;
String password = \”\”;
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals(\”username\”))
{
username = URLDecoder.decode(c.getValue(),\”utf-8\”);
}
if(c.getName().equals(\”password\”))
{
password = URLDecoder.decode(c.getValue(),\”utf-8\”);
}
}
}
%>
<BR>
<BR>
<BR>
用户名:<%=username %><br>
密码:<%=password %><br>
</body>
</html>

三 测试

JSP的Cookie在登录中的使用

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

  • 图解如何在Spring Boot中使用JSP页面
  • 在JSP页面内编写java代码方法总结
  • 在JSP中使用formatNumber控制要显示的小数位数方法
  • 详解Java读取本地文件并显示在JSP文件中
  • 在JSP中如何实现MD5加密的方法
  • jsp使用ECharts动态在地图上标识点
  • 基于FlashPaper实现JSP在线阅读代码示例

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 JSP编程 JSP的Cookie在登录中的使用 https://www.u-9.cn/biancheng/jsp/95685.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务