项目说明

  利用JSP、HTML、JS实现了一个简易的登陆系统。根据前两天的所学,实现了如下功能:

  a)用户名、密码验证(不基于数据库,只做一个简单的表单数据获取并验证)

  b)页面访问次数统计

  c)验证用户名、密码为空的提醒弹窗

  d)一个简易的根据输入错误次数来实现的防恶意登陆的小弹窗

  

  相关知识点:

  a)主要利用form的POST方法传递数据,在此之外再基本利用<jsp:param>标签配合<jsp:forward>传递其他的相关数据。

  b)此外JavaScript可以完美嵌套于JSP文件中,适当地使用IF语句配合JS中的函数进行页面交互。

  

项目源码

  登陆页面:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Login Page</title>
  8. </head>
  9. <body>
  10. <%! String msg="";
  11. int count=0;%>
  12. <h2>简易的登陆系统验证</h2>
  13. <p>访问次数:<%=count+1 %></p><br>
  14. <hr>
  15. <p>正确的登录名:adim 密码:12345</p>
  16. <br>
  17. <p><% out.println(msg); %></p>
  18. <form method=post action="Login.jsp">
  19. 用户名:<input type="text" name=usr> <br>
  20. 密码: <input type="password" name=pasw> <br>
  21. <input type="radio" name=type value=1>管理员
  22. <input type="radio" name=type value=2 checked>普通用户
  23. <br>
  24. <input type="submit" value="提交">
  25. <input type="reset" value="清空">
  26. </form>
  27. <%
  28. count=count+1;
  29. String usrn=request.getParameter("usr");
  30. String passWord=request.getParameter("pasw");
  31. String type=request.getParameter("type");
  32. if(usrn!=null&&passWord!=null)
  33. {
  34.  
  35. if(usrn.equals("adim")&&passWord.equals("12345"))
  36. {
  37. count=0;
  38. msg=""; %>
  39. <jsp:forward page="success.jsp">
  40. <jsp:param name="UsrName" value="<%=usrn %>" />
  41. <jsp:param name="Class" value="<%=type %>" />
  42. </jsp:forward>
  43. <%}else{
  44. if(usrn.equals("")||passWord.equals("")){
  45. out.println("<Script>");
  46. String message="用户名或密码不能为空!";
  47. out.println("alert('"+message+"')");
  48. out.println("</Script>");
  49. count=0;
  50. }
  51. msg="PassWord or UsrName is Wrong!";
  52. if(count>=5){
  53. out.println("<Script>");
  54. String message="您当前错误次数过多,请稍后再试!";
  55. out.println("alert('"+message+"')");
  56. out.println("</Script>");
  57. }
  58. }
  59. }%>
  60.  
  61. </body>
  62. </html>

  登陆成功页面:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <h1>WelCome!</h1>
  11. <hr>
  12. <%String usr=request.getParameter("UsrName");
  13. String type=request.getParameter("Class");
  14. String Classify="";
  15. if(type.equals("1")){
  16. Classify="管理员";
  17. }else{
  18. Classify="普通用户";
  19. }
  20. out.println("<p>"+usr+"</p>");
  21. out.println("<a href=''>进入"+Classify+"页面</a>");
  22. %>
  23.  
  24. </body>
  25. </html>

效果图:

JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面的更多相关文章

  1. JSP/Servlet Web 学习笔记 DayThree

    JSP内置对象 使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用.内置对象其实是由特定的Java类所产生的.每一种内置对象都映射到一个特定的Java类或者端口,在服务器运 ...

  2. JSP/Servlet Web 学习笔记 DayOne

    JSP概述 1)JSP是一种动态网页技术标准,它是在传统的页面HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件(*.jsp),也称JSP页面. 2)JSP容器是一个支持JSP ...

  3. JSP/Servlet Web 学习笔记 DayTwo

    JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...

  4. JSP/Servlet Web 学习笔记 DayFive

    ServletConfig <只对当前Servlet有效> (1)在Web容器初始化Servlet实例时,都会为这个Servlet准备一个唯一的ServletConfig实例(俗称Serv ...

  5. JSP/Servlet Web 学习笔记 DayFour

    Servlet概述 Servelt是使用Java Servlet应用程序接口及相关类和方法的Java程序. Servlet是用Java编写的Server端程序,它与协议和平台无关.Servlet运行于 ...

  6. JSP/Servlet Web 学习笔记 DaySix —— EL表达式

    1)EL从scope中得到参数时可以自动转换类型,因此对于类型转换的限制更加宽松. 2)使用EL表达式,可以简化变量和对象的访问. 3)EL表达式必须以 ${XXXX} 来表示. 4)EL提供点(.) ...

  7. [原创]java WEB学习笔记12:一个简单的serlet连接数据库实验

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  9. Java Web学习笔记之---JSP

    Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...

随机推荐

  1. 2.初识CronTrigger

    开发工具:Eclipse 代码下载链接:https://github.com/theIndoorTrain/QuartzDemo.git 前言: 在1.初始Quartz里面,我们介绍了quartz的一 ...

  2. 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)

    转载请标明出处: 首发于:https://www.fangzhipeng.com/springcloud/2017/07/12/sc12-hystix-dashbd/ 本文出自方志朋的博客 最新Fin ...

  3. SpringBoot学习8:springboot整合freemarker

    1.创建maven项目,添加pom依赖 <!--springboot项目依赖的父项目--> <parent> <groupId>org.springframewor ...

  4. C#把日期转化成星期

    显示效果:       *****      前台页面代码: <TextBlock Grid.Row="/> <TextBlock Grid.Row="/> ...

  5. datatable 单元格默认文本

    在列字段中添加属性:"defaultContent": "-"

  6. rsync+lsyncd实现实时同步

    1.接收端安装rsync,修改/etc/rsyncd.conf配置文件,然后启动服务. uid = rootgid = rootuse chroot = nomax connection = 4sec ...

  7. php中==和===的含义及区别

    ===比较两个变量的值和类型:==比较两个变量的值,不比较数据类型. 比如 $a = '123'; $b = 123; $a === $b为假: $a == $b为真: 有些情况下不能使用==,可以使 ...

  8. linux 下chown改变隐藏文件夹

    chown 在更改隐藏文件的时候,发现无法更改其用户组,如果需要将隐藏文件夹也做一个更改,那么需要加上-h选项. sudo  chown ai/node/  * -hR 使用以上命令即可.

  9. Apache2服务配置ubuntu16.04+django1.11

    话不多说直接上步骤 环境 Ubuntu 16.04 Python 3.5.2 Django 1.11 Apache 2.4 1.Apache2安装 sudo apt-get install apach ...

  10. Nginx技术深入剖析

    Nginx软件功能模块说明 核心功能模块(Core functionality):主要对应配置文件的Main区块和Events区块. 标准的http功能模块: 企业 场景常用的Nginx http功能 ...