本系列博客汇总在这里:企业信息管理系统汇总
一、登录
1、新建登录的 servlet
- 登录界面通过表单 post 的提交方式,将输入的用户名和密码以参数的形式传递到 servlet,servlet 获取参数以后,然后执行 servlet 里的业务逻辑时会比对数据库,当用户名存在且密码正确的时候即可登录,否则不予登录。
package com.wyx.ces.controller; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.wyx.ces.model.CSUsr; import com.wyx.ces.service.CSUsrService; import com.wyx.ces.service.impl.CSUsrServiceImpl; public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获得登录的传参数 String username = request.getParameter("username"); String password = request.getParameter("password"); // 创建Service的接口对象 CSUsrService userService = new CSUsrServiceImpl(); // 调用Service的获取用户的方法 CSUsr user = userService.getUserByNameAndPass(username, password); if (user != null) { // 获得session对象 HttpSession session = request.getSession(); // 把user对象放入session的域中 session.setAttribute("user", user); // 获得项目的根路径 String rpath = request.getContextPath(); response.sendRedirect(rpath + "/ces/main.jsp"); } else { /*response.getWriter().print("用户名或者密码错误");*/ response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); out.print("<script>alert('用户名或密码错误!'); window.location='login.jsp' </script>"); out.flush(); out.close(); } } }
2、在 web.xml 当中配置登录 servlet
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.wyx.ces.controller.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
二、效果演示
如有错误,欢迎指正!