1 packagelin.Servlet;2
3 importjava.io.IOException;4 importjava.sql.Connection;5 importjava.sql.PreparedStatement;6 importjava.sql.ResultSet;7 importjava.sql.SQLException;8
9 importjavax.servlet.ServletException;10 importjavax.servlet.annotation.WebServlet;11 importjavax.servlet.http.HttpServlet;12 importjavax.servlet.http.HttpServletRequest;13 importjavax.servlet.http.HttpServletResponse;14
15 importlin.db.DBServlet;16 importlin.entity.User;17
18 /**
19 * Servlet implementation class LoginServlet20 */
21 /*@WebServlet("/LoginServlet")*/
22 public class LoginServlet extendsHttpServlet {23 private static final long serialVersionUID = 1L;24
25 /**
26 *@seeHttpServlet#HttpServlet()27 */
28 publicLoginServlet() {29 super();30 //TODO Auto-generated constructor stub
31 }32
33 /**
34 *@seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)35 */
36 protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {37 //TODO Auto-generated method stub
38 request.getRequestDispatcher("/WEB-INF/page/login.jsp").forward(request, response);39 }40
41 /**
42 *@seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)43 */
44 protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {45 //TODO Auto-generated method stub46 //设置utf-8,防止出现乱码情况
47 request.setCharacterEncoding("UTF-8");48 response.setCharacterEncoding("text/html;charset=UTF-8");49
50
51 //获取实体User中的变量,将变量插入到数据库中,完成注册
52 User user=newUser();53 //获取注册的用户名,"name"要与jsp页面中的变量名一致
54 String name=request.getParameter("name");55 //获取注册的密码
56 String password=request.getParameter("password");57
58
59 try{60 //sql 语句用于查询name和password是否与数据库中存储的一致
61 String sql="select * from t_users where name=? and password=?;";62 DBServlet db=newDBServlet();63 //与数据库获得连接
64 Connection conn=db.getConn();65
66 //SQL语句被预编译并存储在PreparedStatement对象中
67 PreparedStatement statement=conn.prepareStatement(sql);68 //将sql语句的问号值添加进去
69 statement.setString(1, name);70 statement.setString(2, password);71
72 //执行sql语句
73 ResultSet rs=statement.executeQuery();74 if(rs.next())75 {76 System.out.println("登录成功,欢迎你:"+name);77 request.setAttribute("remind", "登录成功");78 request.getRequestDispatcher("/WEB-INF/page/login.jsp").forward(request, response);79 }else
80 {81 System.out.println("登录失败,密码或用户名错误");82 request.setAttribute("remind", "登录成功");83 request.getRequestDispatcher("/WEB-INF/page/login.jsp").forward(request, response);84 }85
86 //关闭数据库
87 rs.close();88 statement.close();89 conn.close();90
91 } catch(SQLException e) {92 //TODO Auto-generated catch block
93 System.out.println("数据库连接失败");94 e.printStackTrace();95 }96
97 }98
99 }