Web开发技术---简单的登录验证

制作一个APP或系统最基础的是登录界面,下面通过一个简单的登录注册界面的程序,来熟练掌握Web开发的技术。

一、知识点:

1.在网页界面获取用户的输入信息

2.标签的基本应用

3.用户输入结果的错误提示

4.在处理输入错误时,对用户的输入结果进行保留显示及对应错误栏清空。

二、标签

<form>该标签为表单标签,用于形成标签</form>

<input>该标签为输入标签,具体的使用根据定义的属性显示,具体参考文章源代码的注释

<selsct>下拉框标签</select>

三、Web内置对象的使用

1.获取网页用户输入信息request.getParameter();

2.转发网页request.getRequestDispatcher("注册页.jsp").forward(request, response);

3.接收网页转发request.getAttribute();

四、源代码解析

1.注册页.jsp

该文件代码用于生成用户输入界面的输入表单,并接收注册界面.jsp文件转发过来的错误处理提示。

1.1输入表单的源代码

 1 <html>
 2     <head>
 3         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 4         <title>JSP Page</title>
 5     </head>
 6     <body>
 7         <h1>个人信息</h1>
 8         <form action="注册界面.jsp">
 9             用户:<input type="text" name="username" <%if(n!=null){%> value="<%=n%>" <%}%>/>
10           <%
11      //出错处理
12            if(error !=null && error.equals("用户名未输入"))
13             {
14              out.println(error);
15              // out.println("<font color="red">"+error+"</font>");
16             }
17           %>
18             <br> <br>
19             邮箱:<input type="text" name="email" value="[email protected]"/>
20              <%
21             if(error1 !=null)
22             {
23                 out.println(error1);
24                 // out.println("<font color="red">"+error+"</font>");
25             }
26             %>
27              <br> <br>
28             密码:<input type="password" name="password"/>
29              <%
30             if(error2 !=null)
31             {
32                 out.println(error2);
33                 // out.println("<font color="red">"+error+"</font>");
34             }
35             %>
36             <br><br>
37             确认密码:<input type="password" name="password1"/>
38             <%
39             if(error3 !=null)
40             {
41                 out.println(error3);
42                 // out.println("<font color="red">"+error+"</font>");
43             }
44             %>
45             <%
46             if(error4 !=null)
47             {
48                 out.println(error4);
49                 // out.println("<font color="red">"+error+"</font>");
50             }
51             %>
52             <br> <br>
53             性别:
54            <input type="radio" name="sex" value="0"/>男
55            <input type="radio" name="sex" value="1"/>女
56
57             <br><br>
58             <!--复选框-->
59             爱好:
60            <input type="checkbox" name="1" value="音乐"/>音乐
61            <input type="checkbox" name="1" value="美术"/>美术
62            <input type="checkbox" name="1" value="动漫"/>动漫
63            <input type="checkbox" name="1" value="电竞"/>电竞
64            <input type="checkbox" name="1" value="编程"/>编程
65            <br><br>
66            <!--下拉框:-->
67            班级:<select name="class">
68                <option value="1701班">1701班</option>
69                <option value="1702班">1702班</option>
70                <option value="1703班">1703班</option>
71                <option value="1704班">1704班</option>
72                <option value="1705班">1705班</option>
73                <option value="1706班">1706班</option>
74                <option value="1707班">1707班</option>
75
76            </select>
77
78            <br>
79            <p>个人说明:</p>
80            <textarea name="p"rows="4" cols="20">填写个人说明</textarea>
81            <br><br>
82             <input type="reset"value="重置">
83            <input type="submit"value="提交">
84            <br><br>
85         </form>
86
87     </body>
88 </html>

1.1.1运行结果

 1.2接收错误处理信息的代码

 1 <%@page import="java.net.URLEncoder"%>
 2 <%@page contentType="text/html" pageEncoding="UTF-8"%>
 3 <%
 4     //接收
 5     String error =(String)request.getAttribute("error");
 6     String error1 =(String)request.getAttribute("error1");
 7     String error2 =(String)request.getAttribute("error2");
 8     String error3 =(String)request.getAttribute("error3");
 9     String error4 =(String)request.getAttribute("error4");
10     String n =(String)request.getAttribute("n");
11
12 %>

2.注册界面.jsp

该文件代码用于输出获得的用户输入信息,并对获取的信息进行错误处理,把处理结果转发至用户输入界面。

2.1输出信息页面代码

 1 <html>
 2     <head>
 3         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 4         <title>JSP Page</title>
 5     </head>
 6     <body>
 7          <h1>个人信息</h1>
 8
 9            用户:<%=name%>
10            <br><br>
11             邮箱:<%=email%>
12            <br><br>
13             密码:<%=password%>
14            <br><br>
15            确认密码:<%=password1%>
16            <br><br>
17            班级:<%=banji%>
18            <br><br>
19            爱好:<%for(int i = 0;i<str.length;i++){%>
20            <%=str[i]%>
21            <%}%>
22
23            <br><br>
24            个人说明:<%=request.getParameter("p")%>
25     </body>
26 </html>

2.1.1运行结果

用户界面提交信息后的显示界面 :

2.2错误处理代码

在这里只举出部分错误处理的例子,供读者对该知识的理解。该代码应该与注册页.jsp的代码联合,方便解读。

 1 <%
 2     request.setCharacterEncoding("UTF-8");
 3 //接收用户输入信息
 4     String n=request.getParameter("username");
 5     String p=request.getParameter("password");
 6     String p1=request.getParameter("password1");
 7
 8     if(n.equals("")){
 9         request.setAttribute("error", "用户名未输入");
10         request.getRequestDispatcher("注册页.jsp").forward(request, response);
11     }
12     else if(request.getParameter("email").equals(""))
13     {
14 //用于在出现错误处理时,用户输入的信息仍然保存,并显示
15         request.setAttribute("n", n);
16         request.setAttribute("p", p);
17         request.setAttribute("p1", p1);
18         request.setAttribute("error1", "邮箱未输入");
19         request.getRequestDispatcher("注册页.jsp").forward(request, response);
20
21     }
22
23     else if(request.getParameter("password").equals(""))
24     {
25         request.setAttribute("n", n);
26         request.setAttribute("error2", "密码未输入");
27         request.getRequestDispatcher("注册页.jsp").forward(request, response);
28
29     }
30     else if(request.getParameter("password1").equals(""))
31     {
32         request.setAttribute("n", n);
33          request.setAttribute("p", p);
34         request.setAttribute("error3", "确认密码未输入");
35         request.getRequestDispatcher("注册页.jsp").forward(request, response);
36
37     }
38    else if(request.getParameter("password1")!=request.getParameter("password"))
39     {
40         request.setAttribute("n", n);
41         request.setAttribute("p", p);
42         request.setAttribute("error4", "确认密码与密码不一致!");
43        request.getRequestDispatcher("注册页.jsp").forward(request, response);
44    }
45
46 %>

2.2.1部分运行结果如下:

用户名未输入:

密码未输入:

确认密码未输入:

密码与确认密码不一致:

 3.小扩展

在程序中插入调用当前时间的函数代码,记录注册的时间

3.1时间代码

1 <%
2 //    代码块
3     Date date = new Date();
4     SimpleDateFormat simpledate = new SimpleDateFormat("yyyy年MM月dd日 E HH 点mm分ss秒");
5     String strDate = simpledate.format(date);
6
7 %>

3.2显示时间

1 注册时间:<%=date%>
2             <br>
3         <%=strDate%>

4.完整运行成功后的结果

原文地址:https://www.cnblogs.com/chenting123456789/p/11681574.html

时间: 2024-08-04 12:45:53

Web开发技术---简单的登录验证的相关文章

Web开发技术发展历史

Web开发技术发展历史 来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互联网".Web是World Wide Web的简称,中文译为万维网."万维网"和我们经常说的"互联网"是两个联系极其紧密但却不尽相同的概念.今天"互联网"三个字已经承载了太多的内涵,提到互联网,我们通常想到的一种战略思维,或者是一种颠覆传统的商

转Web开发的发展史---Web开发技术的演变

转自:http://blog.csdn.net/zzzkk2009/article/details/9849431 在接下来的几个月时间里,我打算写一系列关于完整web开发的文章.这第一篇文章虽然有所粗略,但也能够充分概括了在之前15年或者更久的时间里web应用程序如何进行演变.并且最后我会囊括下这段时间内所写的相关技术. 在过去的美好日子里,我们使用的是简单的web页面(包括动态gif图片!).作为精美设计的典范,苹果有着这样的一个网站: 在那时,Web开发还比较简单,开发者经常会去操作web

谷歌 Web 开发技术变迁史与踩坑史

文章的作者 CJ 是 Google 八年的资深工程师,现回国创办了在线协作文档「一起写」,这篇文章也是他与 geek 范的同事们在「一起写」协作完成的.点击 NEXT 产品集「Google 开源项目」,完整查看文中提到的技术与开源项目. 过去十几年来, Web 开发技术从最初的纯 HTML 到 CGI.PHP / JSP / ASP.Ajax.Rails.Node.js,已经发展到了一个非常成熟的阶段.去年的 Google I/O,谷歌开发者中心推出了关于 Web 开发的最佳实践手册:而今年的

《Tomcat与Java Web开发技术详解》思维导图

越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 1Servlet容器加载Servlet类 2Servlet容器创建ServletConfig,初始化配置信息 3Servlet容器创建Servlet对象 4Servlet容器调用Servlet对象的init(ServletConfig) 时机:首次被请求或配置了<load-on-startup>

Python基础,简单的登录验证

初次学习python,一头雾水,写了个简单的登录验证,做做笔记 username = 'cc' #用户名 userpassword = '123' #密码 count = 0 #计数器 while count<3: #如果计数小于3,即0,1,2共三次,则执行以下代码 _username = input("USER:") _userpassword = input("PW:") if _username == username and _userpasswor

WEB开发技术框架利器之一 -- Spring MVC

A.介绍: Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. Spring Web MVC也是服务到工作者模式的实现,但进行可优化.前端控制器是DispatcherServlet:应用控制器其实拆为处理器映射器(Handler Mapping)进行处理

[转载].NET Web开发技术(补充)

大家在工作应该养成善于总结的习惯,总结你所学习.使用的技术,总结你所工作事项的比较好的地方,善于总结不断的沉淀优化自己.适时停下来总结下过去走过的路,才能让我们的未来走的更坚定.文章转自JamesLi,没有全部转载,简单摘录,文章如下: 因为马云说了,今天很残酷,明天很美好,很多人都会跌倒在迎接明天的路上.朋友,请坚持,再坚持.无论你是否可以得到一个笑到最后的光环,这不重要的,真的,重要的是你的家人因为有了你的努力,你的付出,他们可以高兴,可以快乐,可以无忧虑的生活着. 1.经过多年积累的通用类

ASP.NET Web开发技术的深入总结

[IT168技术]在国内.Net开发这个环境里, 中小型公司.或者大公司但主营业务不是软件开发里面的软件小团队.针对.Net开发者的要求都是十项全能型的全才, 能做的了从前台页面展现到最后数据存储的全套开发流程,甚至有些还须要程序公布,打包部署等知识, 以及还有其它方面的要求, 这个不说那么多. 招人难: 在招人的时候.我们碰到的大部分都是有多年工作经验,懂的东西也一大堆.也许有些懂的东西也没多少.问起基础性的概念问题,原理问题,大都没法准确的回答出来, 为何会出现这样的情况? 这个时候我们那么

Web开发技术的演变

1. 静态页面时代 大学时候,上机还得换卡穿拖鞋,Novell的网络是很神奇的,然而更神奇的是通讯原理老师半神秘的讲他上 Internet,“Cernet(教育网)有条64K的出口,半年前还很快,现在已经比较卡了”.就这样,我们用Netscape指向Yahoo.那是一个HTML加图片的世界,充斥着各种花哨闪耀的字体和鞠躬的小人,蓝色连接点击后会奇幻的变色. 我们开始用不熟练的HTML和简陋的设计来设计网页,并且知道这边有个浏览器,那边有个叫WebServer的东西,但管理Sun工作站的机房老师总