用servlet校验密码2
Posted june-6th
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用servlet校验密码2相关的知识,希望对你有一定的参考价值。
用servlet校验密码2
一.实验目的
查询资料,解决java如何访问mysql数据库,用Mysql 创建数据库,建立一张用户表,用servlet校验用户名密码,只有在用户表中存在的用户才能登录到系统主页
二.实验过程
①新建链接设置好用户名及密码,新建数据库,新建表并在表中插入数据如图:
②代码,大部分代码没有变化见前一个实验,主要是在java类文件中重新修改代码,建立与数据库的链接,并且读出数据分析:
package com.loginservlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet{ private static final long serialVersionUID = 1L; String sql = null; Connection con = null; Statement sta = null; ResultSet rs = null; boolean isLogin = false; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=utf-8"); //获取参数 String username = req.getParameter("un"); String password = req.getParameter("pw"); PrintWriter printWriter = resp.getWriter(); //连接数据库检测用户名和密码 try{ //连接数据库 Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/workdb?user=root&password=root&serverTimezone=UTC"); sta = con.createStatement(); sql="select password from login where username=‘"+username+"‘"; rs = sta.executeQuery(sql); if(rs.next()){ String passw = rs.getString("password"); if(passw.equals(password)){ isLogin = true; }else{ isLogin = false; } }else{ isLogin = false; } }catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally { try { if(rs!=null) rs.close(); if(sta!=null) sta.close(); if(con!=null) con.close(); } catch (Exception e2) { // TODO: handle exception e2.printStackTrace(); } } if(isLogin){ printWriter.write("用户名: "+username+"\\t\\n密码: "+password); printWriter.close(); } else { printWriter.write("用户名或密码错误!"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub doGet(req, resp); } }
三.实验结果展示
①输入正确的数据库中的用户名密码:
输入用户名:lyk 密码:2016
登陆跳转至:
输入用户名:tom 密码:123
登录跳转至:
输入用户名:Luffy 密码:5
登陆跳转至:
②输入错误的数据库中没有的用户名或密码时:
跳转至:
四.遇到的问题
①在连接数据库时,我不清楚数据库的链接是怎么得到的
②我安装的tomcat7不知道怎么的又出问题了,我删除了server之后重安一个,点tomcat7却没有反应,然后我就只有把安装的文件夹删掉之后重新安装了一遍。
③在确认代码都没有问题之后,运行,输入正确的数据,却还是只能跳转到错误提示页面,所以应该是没有成功链接到数据库然后添加了一个jre文件就好了。
百度云链接:
链接:https://pan.baidu.com/s/1Bd3PKExC56mneN_ekzozTA
提取码:gtyo
以上是关于用servlet校验密码2的主要内容,如果未能解决你的问题,请参考以下文章