首先创建一个用户表,用来保存用户名 密码,并插入几条数据

mysql> desc user;

+----------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+----------------+

| id | int(11) | NO | PRI | NULL | auto_increment |

| username | varchar(20) | YES | | NULL | |

| password | varchar(50) | YES | | NULL | |

+----------+-------------+------+-----+---------+----------------+

创建语句,注意一定要设置password的长度超过41,因为插入数据时我们使用password函数,生成长度为41的字符串,

例如:

mysql> select password('aasas');

+-------------------------------------------+

| password('aasas') |

+-------------------------------------------+

| *462034BF6D04324F93F1F6CA352B23079A165972 |

+-------------------------------------------+

1 row in set (0.00 sec)

mysql> select length( password('aasas'));

+----------------------------+

| length( password('aasas')) |

+----------------------------+

| 41 |

+----------------------------+

1 row in set (1.76 sec)

CREATE TABLE `user` (

`id`int(11) NOT NULLAUTO_INCREMENT,

`username`varchar(20) DEFAULT NULL,

`password`varchar(50) DEFAULT NULL,PRIMARY KEY(`id`)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

插入数据:

mysql> insert into user(username,password) values('root',password('root'));

查看一下插入结果:此时密码已经变成一串字符串.

mysql> select * from user where username='root';

+----+----------+-------------------------------------------+

| id | username | password |

+----+----------+-------------------------------------------+

| 4 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

+----+----------+-------------------------------------------+

1 row in set (0.00 sec)

2.创建一个java web project,新建一个名为user的类,使用jdbc链接数据库,把user表的数据拿出来和输入的用户名密码对比,并添加validate方法

如果用户名密码正确,返回true。之后注意将Mysql JDBC的driver copy到lib目录下,否则无法运行

packagecom.data;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;public classuser {private staticString userName;private staticString password;publicString getUserName() {returnuserName;

}public voidsetUserName(String userName) {this.userName =userName;

}publicString getPassword() {returnpassword;

}public voidsetPassword(String password) {this.password =password;

}public static booleanvalidate()

{

String url= "jdbc:mysql://localhost:3306/study";

String user= "root";

String dbpassword= "3edc4rfv";boolean result = false;try{

String driver="com.mysql.jdbc.Driver";

Class.forName(driver);

Connection con=DriverManager.getConnection(url,user, dbpassword);if(con==null){

System.out.println("can't open DBConnection");

}

String sql= "select * from user where username=? and password=password(?)";

PreparedStatement pstmt=con.prepareStatement(sql);

pstmt.setString(1, userName);

pstmt.setString(2, password);

System.out.println(sql);

ResultSet rs=pstmt.executeQuery();if(rs.next())

{

System.out.println("PASS");

result=true;

}else{

System.out.println("FAIl");

result=false;

}

pstmt.close();

rs.close();

con.close();

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}returnresult;

}

}

并新建一个Servlet,包名com.web,class name login.java,这里主要使用post方法,所以在dopost方法添加代码

将login.java 修改为这样:

packagecom.web;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.data.book;importcom.data.user;public class login extendsHttpServlet {/*** Constructor of the object.*/

publiclogin() {super();

}/*** Destruction of the servlet.
*/

public voiddestroy() {super.destroy(); //Just puts "destroy" string in log//Put your code here

}/*** The doGet method of the servlet.

*

* This method is called when a form has its tag value method equals to get.

*

*@paramrequest the request send by the client to the server

*@paramresponse the response send by the server to the client

*@throwsServletException if an error occurred

*@throwsIOException if an error occurred*/

public voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {//Add some codes

doPost(request,response);

}/*** The doPost method of the servlet.

*

* This method is called when a form has its tag value method equals to post.

*

*@paramrequest the request send by the client to the server

*@paramresponse the response send by the server to the client

*@throwsServletException if an error occurred

*@throwsIOException if an error occurred*/

public voiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

request.getParameter("username");

request.getParameter("password");

request.getSession().setAttribute("user", request.getParameter("username")); //将user放在Attribute中

user user1=newuser();

user1.setUserName(request.getParameter("username"));

user1.setPassword(request.getParameter("password"));

System.out.println(request.getParameter("username")+request.getParameter("password"));if(user1.validate())

{request.getRequestDispatcher("welcome.jsp").forward(request, response); //校验用户名密码正确,跳转到welcome.jsp

}else{

request.getRequestDispatcher("index.jsp").forward(request, response); //校验用户名密码不正确,跳转到index.jsp

}

}/*** Initialization of the servlet.

*

*@throwsServletException if an error occurs*/

public void init() throwsServletException {//Put your code here

}

}

此时web.xml代码如下。可以使用login.do访问这个Servlet

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

login Page

login Page

login

com.web.login

login

/login.do

index.jsp

3.在jsp页面添加相应的action,在index.jsp的body标签之间添加,会生出登录界面,用户名 密码

username

password

4.添加welcome.jsp

在welcome.jsp body标签添加

Welcome

5.加载工程

mysql servlet登录验证_使用Servlet和jdbc创建用户登录验证相关推荐

  1. java开发微信如何维护登录状态_微信小程序中做用户登录与登录态维护的实现详解...

    总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户 ...

  2. java spring 登录验证_详解使用Spring3 实现用户登录以及权限认证

    使用Spring3 实现用户登录以及权限认证 这里我就简单介绍一下,我在实现的时候处理的一些主要的实现. 1.用户登录 用户名 密 码 © 2013 - 2014 | 以上是前台页面,后台的就是一个简 ...

  3. 如何在redhat8里使用gcc命令_如何使用who命令检查用户登录信息

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本教程主要介绍如何使用who命令检查用户登录信息. 如 ...

  4. JAVA——创建用户登录界面

    创建用户登录界面 1.新建超市管理系统 File-new-project-java-java project,创建项目名:SupermarketClient. 2.在Supermarket下面创建两个 ...

  5. mysql怎么启用sa用户_安装SQL SERVER开启SA用户登录的方法

    家庭安装SQL SERVER开启SA用户登录的方法: (切记按照网址操作完后,最后一定要在"管理工具"的"服务"里把"SQL SERVER(MSSQL ...

  6. python 邮箱验证_在Django中进行用户注册和邮箱验证的方法

    本文主要介绍我在利用Django写文章时,采用的注册方法.首先说一下整体逻辑思路: •处理用户注册数据, •产生token,生成验证URL, •发送验证邮件, •用户登录网址,进行验证, •验证处理. ...

  7. laravel集成谷歌验证_如何将Google的两因素身份验证添加到Laravel

    laravel集成谷歌验证 Laravel is a wonderful PHP framework that makes building applications with PHP a lot o ...

  8. 用python写注册登录_用Python实现web端用户登录和注册功能的教程

    用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9 ...

  9. java jwt 验证_教程:用Java创建和验证JWT

    java jwt 验证 "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多 ...

  10. python123注册登录_用Python实现web端用户登录和注册功能的教程

    用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9 ...

最新文章

  1. Linux学习笔记-软件安装管理
  2. id随机选择另一张表格的 sql_表格问答1:简介
  3. spring-使用配置文件完成JdbcTemplate操作数据库
  4. 初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为
  5. Qt 设置应用程序开机自启动
  6. vue-router: $router.push遇到的问题
  7. 得先好好研究一数据库
  8. CICD详解(七)——git、gitlab与github
  9. 委托应用及泛型委托和多播委托
  10. 嵌入式linux系统移植的四大步骤_基于ARM的Linux系统移植的方法
  11. 最新视频磨皮降噪神器 轻轻松松完成视频磨皮!Beauty box
  12. 《麦肯锡方法》第1章建立解决方案-思维导图
  13. 怀旧系列(2)----FoxBase,UCDOS,WPS
  14. 新特汽车在重庆“复活”:打造新品牌“电动屋”,已获网约车牌照
  15. CentOS6启用密钥登陆
  16. 可恢复保险丝的内部结构
  17. 史上最全《计算机网络 自顶向下方法》答案合集
  18. input框监听输入法输入中文
  19. JavaScript奇淫技巧:隐写术
  20. 魔方(12)镜面魔方、苹果魔方、粽子魔方、三面体魔方

热门文章

  1. ZOJ - 2402 DP方案数
  2. 006 关于大数据的本地模式环境的搭建
  3. 异常:请将注册表值...
  4. 【小贴士】zepto find元素以及ios弹出键盘可能让你很头疼
  5. .net 面试题 (1)
  6. 【从C到C++学习笔记】类声明/公有私有保护成员/数据抽象和封装
  7. 【VC++类型转换】CString类型到Char[]类型的转换
  8. 智能优化算法:金枪鱼群优化算法-附代码
  9. 《深度学习Python实践》第20章——回归项目实例
  10. 模板题——位运算,离散化,区间合并