JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面
项目说明
利用JSP、HTML、JS实现了一个简易的登陆系统。根据前两天的所学,实现了如下功能:
a)用户名、密码验证(不基于数据库,只做一个简单的表单数据获取并验证)
b)页面访问次数统计
c)验证用户名、密码为空的提醒弹窗
d)一个简易的根据输入错误次数来实现的防恶意登陆的小弹窗
相关知识点:
a)主要利用form的POST方法传递数据,在此之外再基本利用<jsp:param>标签配合<jsp:forward>传递其他的相关数据。
b)此外JavaScript可以完美嵌套于JSP文件中,适当地使用IF语句配合JS中的函数进行页面交互。
项目源码
登陆页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login Page</title>
</head>
<body>
<%! String msg="";
int count=0;%>
<h2>简易的登陆系统验证</h2>
<p>访问次数:<%=count+1 %></p><br>
<hr>
<p>正确的登录名:adim 密码:12345</p>
<br>
<p><% out.println(msg); %></p>
<form method=post action="Login.jsp">
用户名:<input type="text" name=usr> <br>
密码: <input type="password" name=pasw> <br>
<input type="radio" name=type value=1>管理员
<input type="radio" name=type value=2 checked>普通用户
<br>
<input type="submit" value="提交">
<input type="reset" value="清空">
</form>
<%
count=count+1;
String usrn=request.getParameter("usr");
String passWord=request.getParameter("pasw");
String type=request.getParameter("type");
if(usrn!=null&&passWord!=null)
{ if(usrn.equals("adim")&&passWord.equals("12345"))
{
count=0;
msg=""; %>
<jsp:forward page="success.jsp">
<jsp:param name="UsrName" value="<%=usrn %>" />
<jsp:param name="Class" value="<%=type %>" />
</jsp:forward>
<%}else{
if(usrn.equals("")||passWord.equals("")){
out.println("<Script>");
String message="用户名或密码不能为空!";
out.println("alert('"+message+"')");
out.println("</Script>");
count=0;
}
msg="PassWord or UsrName is Wrong!";
if(count>=5){
out.println("<Script>");
String message="您当前错误次数过多,请稍后再试!";
out.println("alert('"+message+"')");
out.println("</Script>");
}
}
}%> </body>
</html>
登陆成功页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>WelCome!</h1>
<hr>
<%String usr=request.getParameter("UsrName");
String type=request.getParameter("Class");
String Classify="";
if(type.equals("1")){
Classify="管理员";
}else{
Classify="普通用户";
}
out.println("<p>"+usr+"</p>");
out.println("<a href=''>进入"+Classify+"页面</a>");
%> </body>
</html>
效果图:



JSP/Servlet Web 学习笔记 DayThree —— 实现一个登陆小界面的更多相关文章
- JSP/Servlet Web 学习笔记 DayThree
		
JSP内置对象 使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用.内置对象其实是由特定的Java类所产生的.每一种内置对象都映射到一个特定的Java类或者端口,在服务器运 ...
 - JSP/Servlet Web 学习笔记 DayOne
		
JSP概述 1)JSP是一种动态网页技术标准,它是在传统的页面HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件(*.jsp),也称JSP页面. 2)JSP容器是一个支持JSP ...
 - JSP/Servlet Web 学习笔记 DayTwo
		
JSP指令 a)page指令 定义JSP文件中的全局属性.一个JSP页面可以包含多个page指令.除了Import以外,其他page指令定义的属性/值只能出现一次. 其详细语法为: <%page ...
 - JSP/Servlet Web 学习笔记 DayFive
		
ServletConfig <只对当前Servlet有效> (1)在Web容器初始化Servlet实例时,都会为这个Servlet准备一个唯一的ServletConfig实例(俗称Serv ...
 - JSP/Servlet Web 学习笔记 DayFour
		
Servlet概述 Servelt是使用Java Servlet应用程序接口及相关类和方法的Java程序. Servlet是用Java编写的Server端程序,它与协议和平台无关.Servlet运行于 ...
 - JSP/Servlet Web 学习笔记 DaySix —— EL表达式
		
1)EL从scope中得到参数时可以自动转换类型,因此对于类型转换的限制更加宽松. 2)使用EL表达式,可以简化变量和对象的访问. 3)EL表达式必须以 ${XXXX} 来表示. 4)EL提供点(.) ...
 - [原创]java WEB学习笔记12:一个简单的serlet连接数据库实验
		
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
 - [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest  HttpServletRsponse) 以及关于 Servlet 小结
		
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
 - Java Web学习笔记之---JSP
		
Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...
 
随机推荐
- socket上传nsdictionary的json数据异常
			
异常情况如下:按照正常的写法,将上传对数据封装在nsdictionary里,然后检验是否符合json格式化,调用系统的json序列化方法将nsdictionary转化为json数据然后上传, 异常结果 ...
 - pycharm界面美化,个人喜欢
			
进入file-setting选项 界面设置主要是在appearance和editor里面.appearance主要是整个pycharm的主题设置,比如文件管理窗口的颜色,其实就是软件本身的主题设置.我 ...
 - CodeMirror的使用方法
			
最近项目中用到了CodeMirror这个代码编辑器,感觉非常好用,可以设置很多种代码格式.默认前提是你已经正确引入了所有的js文件和css文件. 下面是我在项目中用到过和在网上搜集整理的使用方法: 1 ...
 - pycharm快捷键一览
			
编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + P ...
 - python--Matplotlib(二)
			
Matplotlib+pandas作图 一.对csv文件进行提取ruixi.csv 对上述表格进行提取并做图 #-*- coding:utf-8 -*- import matplotlib as mp ...
 - 学习Pytbon第九天,函数1 过程和参数
			
函数def func1():定义函数 '''testing1'''#函数的说明 print("in the func1")#定义过程 return 0 #得到函数的执行结果.还是程 ...
 - 裸机——DDR
			
1.DDR介绍 DDR,是SDRAM的改进,是双通道的SDRAM, SDRAM是同步动态随机访问存储器. SDRAM与SRAM相对于,二者的特点是: SDRAM 需要初始化,使用时许访问,价格便宜. ...
 - 边缘检测 opencv
			
本次实验使用了两种方法进行了边缘检测,分别使用到了opencv中的两个API函数为Canny()和Sobel()函数.实验后加了Scharr滤波器,它其实是基于Sobel()函数的. 这三个API中的 ...
 - mybatis <forEach>标签的使用
			
MyBatis<forEach>标签的使用 你可以传递一个 List 实例或者数组作为参数对象传给 MyBatis.当你这么做的时候,MyBatis 会自动将它包装在一个 Map 中,用名 ...
 - 修改 cmd 字体为 Consolas
			
windows 下的 cmd 窗口默认的字体有点难看,长时间使用操作 node.js 有点小疲劳,可以修改注册表替换字体为 Consolas,并且可以全屏 cmd 窗口,代码如下: Windows R ...