功能介绍:

登录界面包含用户、密码,输入已经设定好的用户名和密码,点击登录,然后判断是否输入正确,如果正确就会输出成功登录界面,否则就弹出用户名或密码错误的字样,然后可以点击注销按钮回到其实登录界面,由于在cookie中保存了用户名,会自动填入之前保存的用户名。同时界面还包含了显示页面的访问次数。

登录界面:

登录成功界面:

密码或者用户名错误时报错

点击注销自动回到原来的登录界面,并自动输入刚刚登录的用户名

代码 如下

userLogin.jsp(包含登录界面和注销后的自动输入用户名)

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>userLogin</title>
</head>
<body>
<%String msg = "";if(request.getAttribute("msg")!=null){msg=(String)request.getAttribute("msg");}Cookie[] cookies=request.getCookies();String username="";if(cookies != null){for(Cookie cookie : cookies){if(cookie.getName().equals("userName")){username = cookie.getValue();break;} }}
%><span style="color:red;"> <%= msg %> </span><form method ="post" action="loginSuccess.jsp"><p><label>用户:</label><input type ="text" name="userName" value ="<%=username %>"></p><p><label>密码:</label><input type="password" name= "userPwd"></p><input type="submit" value="登录">
</form>
<%Object count = application.getAttribute("count");if(count ==null){application.setAttribute("count",new Integer(1));}else{Integer i =(Integer)count;application.setAttribute("count",i.intValue()+1);}Integer icount =(Integer)application.getAttribute("count");out.println("页面被访问了"+icount.intValue()+"次");
%>
</body>
</html>

loginSuccess.jsp(判断密码是否正确)

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>loginSuccess</title>
</head>
<body>
<%request.setCharacterEncoding("UTF-8");String userName = null;String userPwd = null;userName = request.getParameter("userName");userPwd = request.getParameter("userPwd");if("lnc".equals(userName)&&"123".equals(userPwd))//设置密码{    Cookie cookie =new Cookie("userName",userName);response.addCookie(cookie);session.setAttribute("userName", userName);  //存储在session中session.setAttribute("userPwd", userPwd);response.sendRedirect("index.jsp");}else{String msg="用户名或密码错误";request.setAttribute("msg", msg);request.getRequestDispatcher("userLogin.jsp").forward(request,response);}%></body>
</html>

index.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>
<%String userName=null;String userPwd=null;userName=(String)session.getAttribute("userName");userPwd=(String)session.getAttribute("userPwd");session.setMaxInactiveInterval(2*60);
%><h1>登录成功</h1><h2> 欢迎 <%= userName%></h2><a href="logout.jsp">注销</a></body></html>

logout.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><title>用户注销</title></head>
<body><%session.invalidate();response.sendRedirect("userLogin.jsp");
%></body>
</html>

简单实现用户登录页面(课工场JavaWeb学习1)相关推荐

  1. html网页设计一个简单的用户登录页面

    结果 代码 login.html <!DOCTYPE html> <html lang="en"> <head><meta charset ...

  2. 简单的用户登录页面与后台数据库的交互

    思路为:当用户登录时,如果用户名和密码都正确的时候会进入成功页面.在validate.jsp里会先获得用户名,然后再数据里查找此用户名是否已经存在,若存在则再与所对应的密码进行对比,若都相同则返回fl ...

  3. 【html】【一个简单的用户登录页面代码】

    结果 代码 <!DOCTYPE html> <html><head><title>用户登录.html</title><meta htt ...

  4. Android布局管理器-使用TableLayout表格布局管理器实现简单的用户登录页面

    场景 Android布局管理器-使用FrameLayout帧布局管理器显示层叠的正方形以及前景照片: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  5. Vue.js-Day09【项目实战(附带 完整项目源码)-day04:用户个人中心页面、用户登录页面、将项目打包部署到服务器上、项目汇报、实训心得】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 实战项目源码[链接:https://pan.baidu.com/s/1r0Mje3Xnh8x4F1HyG4aQTA   提 ...

  6. 一个简单的ASP登录页面

    一个简单的ASP登录页面 成品 首页 登陆后的主页,中间的竖线框可自由调动哦!! 具体步骤: 将解压文件放到这个路径内:(很重要!!!) 上图中的work文件夹,即为解压后的文件夹,然后在浏览器的网页 ...

  7. 3、Vue+ElementUI制作用户登录页面

    前面两篇简单了解了一下vue和SPA,现在来用Vue+ElementUI做一个用户登录页面,ElementUI是Element出的一套针对vue的UI库,类似的UI库非常多,ElementUI只是其中 ...

  8. 一个简单的用户登录界面

    今天我们学习了如何实现一个简单的用户登陆界面,具体要用到两个jsp和一个servlet,具体操作如下: 首先创建一个用户登录界面,inputview.jsp,其源代码如下所示: <!DOCTYP ...

  9. java简单springboot系统_Springboot系列 3 - 建立简单的用户登录系统

    在开始编码前,先建立几个Package(可以按个人习惯命名),如图 1.Controllers 用于存放控制器类 2.Models 用于存放数据实体类 3.Repositories 用于存放数据库操作 ...

最新文章

  1. [Hive]Union使用指南
  2. 磁盘与文件系统管理( 认识磁盘,了解磁盘,文件系统的建立与自动挂载)
  3. 360董事长周鸿祎跨足手机市场是福还是祸?
  4. 100行Python代码实现一款高精度免费OCR工具
  5. 接口调用导致阻塞_RocketMQ与Dubbo之间线程之间如何阻塞和唤醒
  6. sql 在存储过程中使用事务(转)
  7. Ubuntu 18 LTS netplan 网络配置
  8. 将一个JDBC的ResultSet转成XML并输出到文件
  9. 单链表的反转(C++)
  10. 64位计算机比32快多少,电脑系统应该选择64位还是32位 到底哪个速度更快?
  11. python 怎么将数字转大写_python 数字转换为大写
  12. Python学习笔记(五)——读写文件
  13. 9 款最好的免费博客网站对比
  14. rtx2060为什么叫智商卡_作为世界上智商最低的狗种之一,中华田园犬是否“名副其实”?...
  15. 使用Graphics在鼠标点击画圆圈扩散效果
  16. linux怎么查看终端号,怎么查看linux 图形终端设备号
  17. 360众筹网_360众筹平台
  18. 艾德卡EDEKA EDI 需求分析
  19. Shell语言-16-Shell脚本调试 -n -v -x -c
  20. 天翼云linux远程密码不对,天翼云主机远程连接

热门文章

  1. word中关于mathtype公式对不齐的问题
  2. 包含min函数的栈JAVA实现
  3. c#游戏辅助脚本教程——变量
  4. ps画笔圈大小快速调节 增加选区减少选区交叉选区快捷键
  5. 新一代爬虫神器puppeteer介绍
  6. 【226期】面试问我,HashMap 的默认初始容量是多少,我该怎么说?
  7. 《收获,不止Oracle》表的连接学以致用
  8. Web前端第四季(jQuery):四:301-jQuery基本过滤器(奇数和偶数)+302-实现隔行换色+401-祖先选择器和子代选择器
  9. 口腔解剖生理学习题-重点试卷(含答案)
  10. 第2次作业:支付宝快捷支付模块分析