@WebServlet(name = "loginServlet",urlPatterns = "/loginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServleResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String type = request.getParameter("type");
System.out.println("type =" + type);
if("trueLogin".equals(type)){//执行登录
String userName = request.getParameter("userName");
String pwd = request.getParameter("pwd");
if (userName == null || "".equals(userName.trim())
|| pwd == null || "".equals(pwd.trim())){
request.setAttribute("message","用户名或密码不能为空");
request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request,response);
return ;
}
AdminService adminService = new AdminServiceImpl();
AdminDO adminDO = adminService.ValidateLogin(userName);
adminDO =adminService.ValidateLogin(userName);
if ( adminDO !=null && pwd.equals(adminDO.getPwd())){
//放到Session之前清空敏感信息密码
adminDO.setPwd(null);
request.getSession().setAttribute("admin",adminDO);
System.out.println("跳转到主页面");
response.sendRedirect(request.getContextPath()+"/studentServlet?type=toStudentManage");
}else{
request.setAttribute("message","用户名或密码不正确");
request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request,response);
}
}else{
request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request,response);
}
}
}
String userName = request.getParameter("userName");
String pwd = request.getParameter("pwd");
自己在控制台打印一下 username和pwd 八成是是页面那边的标签少写或漏写了
断点跟啊,看userName 接收到的是个什么,是不是空,我猜你在String userName = request.getParameter("userName");这一步就已经弄错了
你到底把参数传哪里去了,是通过url传的还是session传的,搞清楚了再写代码,别随便找个代码就往上粘啊