/*
* 后台登录功能步骤:
* -接收客户端的请求(参数包含用户信息)
* 1.判断用户所有信息是否填写完整:
* -如果参数为空:
* 通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 2.判断用户填写信息是否存在于数据库:
* -如果用户对象为空:
* 通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 3.判断用户填写的信息是否完全符合:
* -如果用户对象有信息出错:
* 通过消息模型对象返回结果(设置状态,提示哪些参数出错,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 如果相等,表示登录成功,跳转到登录页面,并且将用户信息设置到Session作用域。
* 4.controller层(接收请求,响应结果):
* -接收客户端请求(接收参数:姓名,密码)
* -调用service层的方法,返回消息模型对象
* -将消息模型对象设置到不同的作用域中
* -请求转发跳转到登录页面
* service层(业务逻辑层):
* -判断参数是否为空:如果为空,则将状态码,提示信息,回显信息设置到消息模型对象,并返回该对象
* -调用Dao层(mapper层):该类实现了数据操作的接口的各种方法
* mapper层:
* 定义对应接口,并且由mapper文件实现接口里的所有方法
* */
//LoginServer.java
在这里插入代码片@WebServlet(urlPatterns = {
"/MainServer"})
public class LoginServer extends HttpServlet {
private SqlSession ss = mybatisConnect.StartSqlSession();
@Override
protected void service(HttpServletRequest req, HttpServletResponse res){
/*
* 后台登录功能步骤:
* -接收客户端的请求(参数包含用户信息)
* 1.判断用户所有信息是否填写完整:
* -如果参数为空:
* 通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 2.判断用户填写信息是否存在于数据库:
* -如果用户对象为空:
* 通过消息模型对象返回结果(设置状态,提示哪些参数为空,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 3.判断用户填写的信息是否完全符合:
* -如果用户对象有信息出错:
* 通过消息模型对象返回结果(设置状态,提示哪些参数出错,回显数据),将消息模型对象设置到request作用域,
* 请求转发跳转到登录页面,return
* 如果相等,表示登录成功,跳转到登录页面,并且将用户信息设置到Session作用域。
* 4.controller层(接收请求,响应结果):
* -接收客户端请求(接收参数:姓名,密码)
* -调用service层的方法,返回消息模型对象
* -将消息模型对象设置到不同的作用域中
* -请求转发跳转到登录页面
* service层(业务逻辑层):
* -判断参数是否为空:如果为空,则将状态码,提示信息,回显信息设置到消息模型对象,并返回该对象
* -调用Dao层(mapper层):该类实现了数据操作的接口的各种方法
* mapper层:
* 定义对应接口,并且由mapper文件实现接口里的所有方法
* */
try {
// 设置请求头解码编码方式
req.setCharacterEncoding("UTF-8");
res.setHeader("content-type","text/html;charset=utf-8");
String UserAccount = req.getParameter("UserAccount");
String UserName = req.getParameter("UserName");
String UserPassword = req.getParameter("UserPassword");
String UserAge = req.getParameter("UserAge");
UserMapper UM = ss.getMapper(UserMapper.class);
UserInfo User = UM.GetUserByID(UserAccount);
System.out.println(User);
HttpSession hs = req.getSession();
hs.setAttribute("UserAccount",UserAccount);
hs.setAttribute("UserName",UserName);
hs.setAttribute("UserAge",UserAge);
hs.setAttribute("UserPassword",UserPassword);
if(User == null || !User.getUserPassword().equals(UserPassword)){
hs.setAttribute("Msg","用户不存在或信息填写错误");
res.sendRedirect("Validation.jsp");
}
if(User.getUserAccount().equals(UserAccount) && User.getUserPassword().equals(UserPassword)){
res.sendRedirect("Index.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
//RegisterServer.java
@WebServlet(urlPatterns = {
"/RegisterServer"})
public class RegisterServer extends HttpServlet{
private String UserAccount;
private String UserName;
private String UserAge;
private String UserPassword;
SqlSession sql = mybatisConnect.StartSqlSession();
@Override
protected void service(HttpServletRequest req, HttpServletResponse res){
// 设置请求头解码编码方式
try {
req.setCharacterEncoding("UTF-8");
res.setHeader("content-type","text/html;charset=utf-8");
} catch (Exception e) {
e.printStackTrace();
}
//将注册用户的信息添加到一个对象,再将该对象添加到消息模型中
UserInfo UI = new UserInfo();
UserAccount = req.getParameter