今天主要学习了完善用户获取二维码信息后跳转到card页面功能-----以下学习来自 "东软教育-Neusoft"
仅作为学习记录,供今后复习参考
目录
1 进行(静态)登录跳转调试
1.1 对LoginServlet进行新增功能
- 调用HealthCodeService进行判断
package com.wanglianng.web;
import com.wanglianng.pojos.HealthCode;
import com.wanglianng.service.HealthCodeService;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "LoginServlet",urlPatterns = "/login")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String telephone =request.getParameter("telephone");
String idCard =request.getParameter("idCard");
System.out.println("telephone:"+telephone);
System.out.println("idCard:"+idCard);
//此处要取得telephone和idCard。下面的业务要调用service来进行判断
if(StringUtils.isBlank(telephone)){
response.getWriter().write("1");//如果telephone为空,返回1
return;
}
if(StringUtils.isBlank(idCard)){
response.getWriter().write("2");//如果idCard为空,返回2
return;
}
HealthCodeService hcs = new HealthCodeService();
HealthCode healthCode = hcs.login(telephone,idCard);
if(healthCode == null){
response.getWriter().write("0");//如果查无此人,返回0
return;
}
//如果以上的if都不成立,说明一切正常,将实体对象healthCode存到session中。
request.getSession().setAttribute("healthCode",healthCode);
response.getWriter().write("4");//如果全对,并根据电话和ID找到了人,返回4
//String cpath = request.getContextPath();
//System.out.println("测试连接servlet"+cpath);
}
}
1.2 对login.html进行新增功能
- 进行判断,判断各项信息是否填写正确确保能够正确地加载到card.html界面
if(resp == 0){
alert("身份证号或手机号不正确!");
}else if(resp == 1){
alert("手机号不能为空!");
}else if(resp == 2){
alert("身份证号不能为空!");
}else if(resp == 4){
//登陆成功,跳转到card.html
window.location.href = "card.html";
}
1.3 在webapp中新建HTML5文件:card.html
- 作为登陆成功后跳转的界面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>card</h1>
</body>
</html>
1.4 deploy all 重新部署然后进行测试
- 点击获取健康码,弹出getCard界面,然后点击确定
- 继上一步点击确定之后,弹出第二个弹窗,显示内容为4,然后点击确定
- 继上一步点击确定之后,会跳转到card.html界面即为测试成功!
2. 进行(动态)登录跳转调试
2.1 对login.html进行修改,增加动态输入tel与idCard进行登录功能
- 对getCard增加两个动态返回值
function getCard(){
var tel = $("#telephone").val();
var idCard = $("#idCard").val();
/*post方法有三个参数
参1:字符串-提交的servlet地址/服务器根目录
参2:字符串-地之后的参数
参3:函数-返回后的结果处理
* */
$.post("/HealthCode_war/login","telephone="+tel+"&idCard=" +idCard ,function (resp) {
if(resp == 0){
alert("身份证号或手机号不正确!");
}else if(resp == 1){
alert("手机号不能为空!");
}else if(resp == 2){
alert("身份证号不能为空!");
}else if(resp == 4){
//登陆成功,跳转到card.html
window.location.href = "card.html";
}
})
}
2.2 进行两次测试
2.2.1 第一次测试:输入数据库中不存在的telephone和idCard
- 现实的身份证号或手机号不正确即测试成功!
2.2.2 第二次测试:输入数据库中存在的telephone和idCard
- 测试第三条已存在用户数据
- 输入手机号和身份证号,点击获取
- 即可成功跳转到card.html界面,到此动态测试成功!