登录功能没有实现

登录功能没有实现

登录后是跳转到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">

&nbsp;&nbsp;&nbsp;&nbsp; <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

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2020-07-11 19:13:53

同学你好,1.  登录成功后是跳转到categoryList.jsp的。

2. 同学是一直登陆失败,并显示‘用户名或密码错误’吗?如果是,则是因用户名存在中文,导致登陆失败的,建议同学为其设置字符集。如下所示:

http://img1.sycdn.imooc.com//climg/5f099e7e09d8acb709680138.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师