登录功能没有实现
登录后是跳转到categoryList.jsp吗?但是没有实现
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
<link rel="stylesheet" href="css/login.css">
</head>
<body>
<div class="login">
<div class="header">
<h1>
<a href="/login.do">登录</a>
</h1>
<button></button>
</div>
<form action="${pageContext.request.contextPath }/LoginServlet" method="post">
<div class="name">
<input type="text" id="name" name="username">
<p></p>
</div>
<div class="pwd">
<input type="password" id="pwd" name="password">
<p></p>
</div>
<div class="code">
<input type="text" id="code" name="verifyCode" style="width: 150px">
<img src="code.jpg"
style="width: 150px; height: 42px; vertical-align: middle;">
<p></p>
</div>
<div class="btn-red">
<input type="submit" value="登录" id="login-btn">
</div>
</form>
</div>
</body>
</html>
+++++++++++++++++++++++++
package com.imooc.servlet;
import java.io.IOException;
import java.util.List;
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 com.imooc.domain.User;
import com.imooc.service.UserService;
import com.imooc.service.impl.AuthFiler;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 接收页面提交数据:
String username = request.getParameter("username");
String password = request.getParameter("password");
// 封装数据:
User user = new User();
user.setUsername(username);
user.setPassword(password);
// 处理数据完成登录
UserService userService = new AuthFiler();
// 获得用户列表的集合:
List<User> userList = (List<User>) getServletContext().getAttribute("userList");
System.out.println("LoginServlet获得的用户集合"+userList);
User existUser = userService.login(userList, user);
// 显示结果:
if (existUser == null) {
// 登录失败
request.setAttribute("msg", "用户名或密码错误!");
request.getRequestDispatcher("/login.jsp").forward(request, response);
} else {
// 登录成功
// 将用户信息保存:
request.getSession().setAttribute("existUser", existUser);
response.sendRedirect(request.getContextPath() + "/categoryList.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
++++++++++++++++++++++++++++++
package com.imooc.service.impl;
import java.util.List;
import com.imooc.domain.User;
import com.imooc.service.UserService;
public class AuthFiler implements UserService {
@Override
public User login(List<User> userList, User user) {
for (User existUser : userList) {
if (existUser.getUsername().equals(user.getUsername())
&& existUser.getPassword().equals(user.getPassword())) {
return existUser;
}
}
return null;
}
}
++++++++++++++++++++
package com.imooc.service;
import java.util.List;
import com.imooc.domain.User;
public interface UserService {
//将登录页面提交的用户信息(user)保存到userList中
public User login(List<User> userList,User user);
}
+++++++++++++++++++++++++
package com.imooc.listener;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import com.imooc.domain.User;
@WebListener
public class InitServletContextListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent sce) {
}
public void contextInitialized(ServletContextEvent sce) {
System.out.println("项目InitServletContextListener初始化监听器加载成功");
// 创建一个List集合保存User的信息,登录数据需要与此List集合中的数据对比
List<User> userList = new ArrayList<User>();
userList.add(new User("张三", "111"));
userList.add(new User("李四", "222"));
userList.add(new User("王五", "333"));
System.out.println(userList);
// 将userList集合存到ServletContext域中
sce.getServletContext().setAttribute("userList", userList);
}
}
++++++++++++++++
package com.imooc.domain;
public class User {
// 用户名
private String username;
// 密码
private String password;
//无参构造方法
public User() {
super();
}
//带参构造方法
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + "]";
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星