(一)案例需求描述
一、案例需求
二、案例功能分析
1、登录失败用户名或密码错误验证码错误回到登录页面
2、登录成功如果勾选了记住用户名复选框利用Cookie记住登录成功的用户的用户名需要将用户信息保存到Session中进行页面跳转,跳到成功页面
(二)案例准备
一、创建Web项目
二、引入Jar包
三、创建包结构
四、引入工具类和配置文件
五、引入相关的类并修改Servlet2还需要修改配置文件web.xmlServlet3以注解形式注册的,不需要写web.xml
六、创建登录页面页面代码
(三)案例代码-用户登录的功能
一、用户登录流程用户输入用户名或密码进行登录如果用户名或密码错误,保存错误信息,回到登录页面如果用户名和密码正确,将用户的信息保存到会话中,跳转到成功页面
二、用户登录代码实现在登录页面回显错误信息用户登录代码实现编写success.jsp
(四)案例代码-一次性验证码
一、一次性验证码的分析
1、一次性验证码的作用防止恶意灌水,而且一次性验证码只能够使用一次,不管成功或者失败,验证码都将失效
2、一次性验证码的校验一次性验证码生成:随机生成4个字母或数字,由Response生成一张图片响应到页面
二、一次性验证码的实现
1、生成验证码图片复制Servlet到指定的包下Servlet2需要修改web.xml完成该Servlet的配置在页面中引入Servlet
2、将随机生成的字母或数字保存到Session中
3、校验一次性验证码
三、一次性验证码的点击按钮切换图片
1、点击按钮切换图片
2、代码实现提供超链接编写JS的函数
四、记住用户名的实现
1、需求概述如果在登录的过程中,将记住用户名的复选框勾选了,而且必须在录成功的情况下,就需要记住用户名,在关闭浏览器、下次访问该网站的登录页面时,会在用户名的文本框中自动呈现出用户名
2、代码实现记住用户名的后台代码在页面的文本框中回显用户名
五、系统退出
1、提供一个退出的链接
2、编写LogoutServlet
publicclassRequestDemo1extendsHttpServlet {
protectedvoiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String sex = request.getParameter("sex");
String city = request.getParameter("city");
String[] info = request.getParameterValues("info");
System.out.println("用户名" + username);
System.out.println("密码" + password);
System.out.println("性别" + sex);
System.out.println("自我介绍" + info);
}
protectedvoiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {
doGet(request, response);
}
}
<!DOCTYPE html>
<html>
<head>
"UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>网页登录</h1>
"/RequestDemo1">
用户名:"text"name="username">
密码:"password"name="password">
性别:"radio"name="sex"value="man">男
"radio"name="sex"value="woman">女
个人介绍:"3"cols="8"name="info">
"submit"value="提交">
是否确认登录?"checkbox"name=""id=""value=""/>
注册:"submit"id=""value="注册"/>
</form>
</body>
</html>