用servlet校验密码2
资源链接:
链接:https://pan.baidu.com/s/1vl7HZ2TJnt3_bbWfjch7xg
提取码:irey (PS:因为文件有覆盖,所以在该随笔之前的链接可能失效)
界面:
mysql截图:
出现的问题v1.0:连接数据库的时候com.mysql加载出错:
解决方法:
导入mysql-connector-java-8.0.15.jar包点击确认就ok了
出现的问题v1.1:连接数据库的时候出现异常
如下:
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone
解决办法:
在连接数据库的语句中添加“serverTimezone=UTC”
html代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>登录界面</title> <script type="text/javascript" src="script/login.js"></script> <link href="css/login.css" type="text/css" rel="stylesheet"> </head> <body> <div id="page"> <div id="page_head"> <div id="logo"> <img src="rsc\login_logo.png"/> </div> </div> <div id="page_body"> <div id="login"> <div id="loginTitle"> <b>账号登录</b> </div> <form action="TestServlet" id="loginForm"> <div id="tip">请填写用户名</div> <div class="textitem_count"> <input style="width:320px;height:30px" name="input_user" type="text" placeholder="用户名"> </div> <div class="textitem_pwd"> <input style="width:320px;height:30px" name="input_password" type="password" placeholder="密码"> </div> <div style="position:absolute;left:30px;top:220px;width:320px"> <sqan style="color:red;float:left;">学生选择@stu.swpu.edu.cn</sqan> <a href="#" style="float:right;">忘记密码</a> </div> <div style="position: absolute; left:30px; top:260px;width: 320px"> <input onclick="fnLogin()" style="float:right;background:url(rsc/login_btn.jpg);" class="btn" type="submit" value="登 录" /> </div> </form> </div> </div> <div id="page_foot">西南石油大学</div> </div> </body> </html>
servlet代码:
package swpu.com; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/TestServlet") public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; String sql = null; Connection conn = null; Statement stmt = null; ResultSet rs = null; boolean isLoing=false; /** * @see HttpServlet#HttpServlet(g) */ public TestServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String userName = request.getParameter("input_user"); String userPsw = request.getParameter("input_password"); //连接数据库检测用户名和密码 try { //连接数据库 Class.forName("com.mysql.jdbc.Driver"); DriverManager.registerDriver(new com.mysql.jdbc.Driver()); conn=DriverManager.getConnection("jdbc:mysql://localhost/workdb?user=root&password=root&serverTimezone=UTC"); stmt=conn.createStatement(); sql="select userPWD from login where userID='"+userName+"'"; rs=stmt.executeQuery(sql); if(rs.next()) { //获取输入用户名的密码进行检验,若与输入的一致则isLogin置为true,反之置false String pw=rs.getString("userPWD"); if (pw.equals(userPsw)) { isLoing=true; }else { isLoing=false; } }else { //若未查询到用户的存在也置为false isLoing=false; } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally { try { if(rs!=null) rs.close(); if(stmt!=null) stmt.close(); if(conn!=null) conn.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } if(isLoing){ response.getWriter().write("登陆成功"); response.getWriter().write("</br>"); response.getWriter().write("用户名:" + userName); response.getWriter().write("</br>"); response.getWriter().write("密码:" + userPsw); } else{ response.getWriter().write("登录失败!"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }