给注册添加服务器端表单校验 | 学习笔记

简介: 快速学习给注册添加服务器端表单校验

开发者学堂课程【Java Web 项目实战1:注册登录、客户关系管理系统给注册添加服务器端表单校验】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/39/detail/904




给注册添加服务器端表单校验


给注册添加验证码


1. verifycode类

* BufferedImage getImage () -->获取随机的验证码图片

* String getText(o -->获取图片上的文本

* static output (BfferedImage,outputstream)-->把图片写入到指定的额出流中。

 

2. verifyCodeservlet

*获取随机验证码图片

*把验证码图片上的文本保存到 session 中

*把图片响应到 response 的 outputStream 中

 

3. regist.jsp

*添加<img src="指向servlet"/>

*添加一个文本框,用来输入验证码

*"看不清,换一张”,是一个超链接。把上面的 img> 的 src 重新再次指向 servler! 为了处理浏览器的缓存,需要使用时间来做参数!

 

4.修改 Registservlet

*校验验证码!

*错误:保存表单数据到 request 域、保存错误信息到 request 域,转发回 regist.jsp

*正确:什么都不做,向下执行原来代码!

<body>

<h1>注册</n1>

<p style="color: red; font-weight: 900">$ {msg }</p>

<号--$ {pageContext.request.contextPath }/Registservlet --号><form action="<c:url value='/Registservlet'/>" method="post">

用户名:<input type="text" name="username" value="${user.username }"/><br/>

密码:<input type="passvord" name="passvord" value="$ pser.password }"/><br/>

验证码:<input type=“text”name="verifyCode" value="${user.verifyCode }" size="3"/>

<img id="vCode" src="<c:url value='/verifyCodeServlet'/>" border="2"/>

<a href="javascript:_change ()">换一张</ a><br/>

<input type= "submit" value="注册”/>

</form>

</ body>

</ html>

服务器端表单(输入)校验

我们把这段校验,放到获取表单数据之后,验证码校验之前!

public void doPost(HttpServletRequest request,HttpServletResponse res

throws ServletException,IOException i

request.setCharacterEncoding ( "utf一8") ;

response.setContentType ( "text /ntml ; charset=utf-8") ;

//依赖 Userservlet

Userservice userservice = new Userservice ();

/*

* 1.封装表单数据<封装到 user 对象中>

* /

User form = CommonUtils.toBean(request.getParameterMap(),User.class);

/*

新添加任务:

*校验验证码

*1.用户填写的验证码已经封装到user中

*2.从 session 获取真正的验证码

*3.比较两者,如果不同,保存错误信息、保存表单数据,转发到 regist.jsp

*4.如果相同,什么都不做,向下执行!

* /

 

1.使用Map类型来装载错误信息!

*key :表单项名称,例如: usernamePasswordverifyCode

*value:

>非空:用户名不能为空,或者是"密码不能为空”

>长度:用户名长度必须在3~2o之间密码长度必须在3~20之间

2.在校验失败时,向map添加错误信息!那个字段出错,就给哪个字段添加错误信息!

3.判断 map 是否为空(长度是否为o),如果不空,说明有错误存在,保存 map 到 request 域,保存 torm 到 request 域(回显),转发回 regisc.jsp

4.在 regist.jsp 页面中,显示 map 中的错误信息。$ imap.username}

* 添加新任务(表单校验〉

* 1.创建一个 Map,用来装载所有的表单错误信息

在校验过程中,如果失败,向 map 添加错误信息,其中 key 为表单字段名称

*2.校验之后,查看 map 长度是否大于0,如果大于0,说明有错误信息,就是有错误!

* >保存 map 到 request 中,保存 form 到 request 中,转发到 regist.jsp

* 3.如果 map 为空,说明没有错误信息,向下执行!

*/

Map<String,string> errors = new HashMap<String,string>();

string username = form.getUsername ( );//获取表里的 usexname.

if (username ==null ll username,trim () .isEmpty() ) {

errors.put ( "username" ,"用户名不能为空!");

} else if(username.length() < 3 ll username.length() > 15){

errors.put ( "username","用户名长度必须在3~15之间!");

}

图片1B2.png

图片1B1.png

相关文章
|
4月前
|
弹性计算 Java PHP
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
对于初次购买阿里云产品的用户来说,第一步要做的是注册账号并完成实名认证,然后才是购买阿里云服务器或者其他云产品,本文为大家以图文形式展示一下新手用户从注册阿里云账号、实名认证到购买云服务器完整详细教程,以供参考。
新手用户注册阿里云账号、实名认证、购买云服务器图文教程参考
|
1月前
|
存储 固态存储 网络安全
云服务器注册教程
本文概述了云服务器的优势,如价格亲民、按小时计费、SSD存储和高性能,并介绍了云服务器的注册及创建虚拟专用服务器的步骤。注册过程包括邮箱验证、激活账号和绑定支付方式。创建云服务器时,选择操作系统、计划、数据中心等配置,然后通过SSH连接。云服务器因其易用性和经济性受到开发人员和小型企业青睐。文章还提及了使用WordPress搭建个人博客的教程。
162 0
云服务器注册教程
|
8月前
|
弹性计算 安全 网络安全
新手用户注册阿里云账号、购买云服务器及申请发票图文教程参考
阿里云服务器的完整购买流程包括注册阿里云账号、查询阿里云服务器价格、通过官方下单购买以及后期的申请发票等流程,本文为大家介绍从前期注册阿里云账号,购买阿里云服务器,再到后期开发票的教程。
986 0
新手用户注册阿里云账号、购买云服务器及申请发票图文教程参考
|
4月前
|
XML Arthas Java
Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启
Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启
115 0
|
7月前
|
JavaScript
一个端到端的基于 form 表单的文件上传程序,包含客户端和服务器端
一个端到端的基于 form 表单的文件上传程序,包含客户端和服务器端
47 0
|
7月前
|
存储 弹性计算 Linux
阿里云服务器怎么租用?注册账号到租用流程(图文教程介绍)
怎么租用阿里云服务器以及租用时有什么优惠是许多新手用户想要知道的,阿里云服务器可以月租也可以年租,还可以按量付费的模式租用,租用阿里云服务器需要经过注册账号、实名认证、选择租用模式等流程,下面是阿里云服务器租用流程及优惠信息。
阿里云服务器怎么租用?注册账号到租用流程(图文教程介绍)
|
9月前
|
Java Linux Nacos
【Java项目】SpringCloud项目注册到Nacos中心时显示的是内网IP导致不同服务器之间无法互相调用接口的解决并发
【Java项目】SpringCloud项目注册到Nacos中心时显示的是内网IP导致不同服务器之间无法互相调用接口的解决并发
201 0
|
9月前
|
弹性计算 安全 关系型数据库
2023年购买阿里云服务器、注册域名、备案及绑定教程参考(图文教程)
本文根据阿里云2023年的云服务器购买和注册域名及备案等相关政策和活动,为大家展示了2023年阿里云服务器的购买流程,域名注册、绑定以及备案教程,全文以图文教程形式为大家展示具体细节及注意事项,以供新手用户参考。
2539 1
2023年购买阿里云服务器、注册域名、备案及绑定教程参考(图文教程)
|
9月前
|
弹性计算 负载均衡 对象存储
注册阿里云免费领云服务器_云服务器ECS
2023注册阿里云免费领云服务器_云服务器ECS,阿里云免费服务器领取,个人和企业用户均可以申请,个人免费服务器1核2GB 每月750小时,企业u1服务器2核8GB免费使用3个月
|
10月前
|
弹性计算 负载均衡 小程序
注册阿里云免费领云服务器_云服务器ECS_阿里云
2023注册阿里云免费领云服务器_云服务器ECS_阿里云,阿里云服务器免费试用申请链接入口,阿里云个人用户和企业用户均可申请免费试用,最高可以免费使用3个月,阿里云服务器网分享阿里云服务器免费试用申请入口链接及云服务器配置
72 0