javaweb从mysql中获取数据验证用户名密码成功跳转,失败重新验证
要求:validate.jsp页面中获取请求参数(request.getparameter(“name属性的值”)),注意中文参数获取之前要设置请求编码(request.setCharaterEncoding(“UTF-8”)),通过连数据库、执行sql语句,完成登录验证,成功—success.jsp,失败-index.jsp
通过reponse.sendRedirect(“目标页面”);
注意事项:
- input中的name属性有用,它的属性用于在验证界面获取 eg:String name=request.getParameter("inputName");//inputName是input中name的值
设置请求参数的编码格式
request.setCharacterEncoding("UTF-8"); //此处解决了参数不能传递中文问题- 跳转页面 response.sendRedirect(" ");
Class.forName("com.mysql.jdbc.Driver"); //mysql驱动名称
获取连接:提供3个链接参数 url数据库链接地址 username连数据库的用户名 password连数据库的密码
String url = "jdbc:mysql://localhost:3306/shopping"; // jdbc:mysql:// + MYSQL主机名 +: mysql端口号 + 数据库名
String username = "root";
String password = "123456";
自己做的版本:
mysql界面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>主页</title>
</head>
<body>
<a href="login.jsp">跳转到login.jsp页面!</a>
</body>
</html>
index
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<!--
name属性表示请求参数名 inputName
value属性表示请求参数值 inputPwd
inputName=张三
inputPwd=123
-->
<form action="validate.jsp" method="post">
用户名:<input type="text" name="inputName" id="username" placeholder="请输入用户名" />
密码:<input type="password" name="inputPwd" id="pwd" placeholder="请输入密码" />
<input type="submit" value="登录" id="register"/>
</form> </body>
</html>
login
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String name=request.getParameter("inputName");
String pwd=request.getParameter("inputPwd");
boolean flag= false;
try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/shopping";
String username="root";
String password="111111";
Connection conn=DriverManager.getConnection(url,username,password);
System.out.println(conn);
String sql = "select * from employee where username = '"+ name +"' and pwd = '"+ pwd +"' ";
PreparedStatement ps=conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
while(rs.next()){
System.out.println("验证成功!");
flag=true;
}
if(flag){
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("index.jsp");
}
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}
%>
<a href="index.jsp">返回index</a>
</body>
</html>
validate(用于验证)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>登录成功~~</p>
</body>
</html>
success
package com.shoppingmall.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DatabaseConnection {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/shopping";
String username="root";
String password="111111";
Connection conn=DriverManager.getConnection(url,username,password);
System.out.println(conn);
String sql = "select * from employee where username ='张三' and pwd='123'";
PreparedStatement ps=conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
while(rs.next()) {
System.out.println("验证成功!");
}
} }
DatabaseConnection.java
带注释版:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
表单提交验证用户信息合法性,validate.jsp页面验证
name属性表示请求参数名 inputName
value属性表示请求参数值 张三
inputName=张三
inputPwd=1234
<form action="validate.jsp" method="POST">
用户名:<input placeholder="username" name="inputName"/><br>
密码:<input placeholder="pwd" name="inputPwd"/><br>
<input type="submit" value="登录"/><br>
</form>
</body>
</html>
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
验证,返回到index.jsp
<%
//0-0)设置请求参数的编码格式
request.setCharacterEncoding("UTF-8");
//0)获取表单中传递的用户名和密码
String name = request.getParameter("inputName");
String pwd = request.getParameter("inputPwd");
//标识验证结果:
boolean flag = false;
try{
//1) 加载驱动 ,不同的数据库由不同的驱动(Mysql),mysql-connector.jar
//maven仓库下载jar包---存在工程根目录下的lib目录下-->修改构建目录(选中jar包,右键选择build path,选择add to build path)
Class.forName("com.mysql.jdbc.Driver");//mysql驱动名称
//2)获取连接:提供3个链接参数 url数据库链接地址 username连数据库的用户名 password连数据库的密码
String url = "jdbc:mysql://localhost:3306/shopping";// jdbc:mysql:// + MYSQL主机名 +: mysql端口号 + 数据库名
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url,username,password);
//3-0)验证连接结果
System.out.println(conn); //控制台显示输出结果---console
//com.mysql.jdbc.JDBC4Connection@45283ce2
//3-1)执行sql语句
//根据用户名和密码,验证用户是否存在
String sql = "select * from s_user where uname = '"+ name +"' and upwd = '"+ pwd +"' ";
//3-2)通过连接获取预编译对象PreparedStatement
PreparedStatement ps = conn.prepareStatement(sql);
//3-3)执行查询 executeQuery---返回结果集ResultSet
ResultSet rs = ps.executeQuery();
//4)处理结果ResultSet,遍历,while循环
while(rs.next()) {
System.out.println("验证成功");
flag = true;
}
if(flag){
//跳转页面 success.jsp
//1) 响应重定向 response
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("index.jsp");
} }catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
%>
<a href="index.jsp">返回index</a>
</body>
</html>
validate.jsp
package com.shoppingmall.db; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class DatabaseConnection {
//连接数据库操作
//Java程序的入口,main方法
public static void main(String[] args){
try {
//1) 加载驱动 ,不同的数据库由不同的驱动(Mysql),mysql-connector.jar
//maven仓库下载jar包---存在工程根目录下的lib目录下-->修改构建目录(选中jar包,右键选择build path,选择add to build path)
Class.forName("com.mysql.jdbc.Driver");//mysql驱动名称
//2)获取连接:提供3个链接参数 url数据库链接地址 username连数据库的用户名 password连数据库的密码
String url = "jdbc:mysql://localhost:3306/shopping";// jdbc:mysql:// + MYSQL主机名 +: mysql端口号 + 数据库名
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url,username,password);
//3-0)验证连接结果
System.out.println(conn); //控制台显示输出结果---console
//com.mysql.jdbc.JDBC4Connection@45283ce2
//3-1)执行sql语句
//根据用户名和密码,验证用户是否存在
String sql = "select * from s_user where uname = '张三' and upwd = '123' ";
//3-2)通过连接获取预编译对象PreparedStatement
PreparedStatement ps = conn.prepareStatement(sql);
//3-3)执行查询 executeQuery---返回结果集ResultSet
ResultSet rs = ps.executeQuery();
//4)处理结果ResultSet,遍历,while循环
while(rs.next()) {
System.out.println("验证成功");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
//Web工程页面入口是index.jsp
}
javaweb从mysql中获取数据验证用户名密码成功跳转,失败重新验证的更多相关文章
- MySQL中获取天、周、月等数据
MySQL中获取天.周.月等数据 1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 ...
- Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1. 安装MySQL ODBC驱动程序 O ...
- PHP读取mysql中的数据
<!DOCTYPE HTML> <html> <head> <title> PHP动态读取mysql中的数据 </title> <me ...
- 用python批量向数据库(MySQL)中导入数据
用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...
- PHP如何批量更新MYSQL中的数据
最近项目需要用到批量更新数据库里的数据,在网上找了一下这方面的例子,觉得这个还不错,分享给大家. 在这个业务里里面涉及到了更新两张数据表,那么大家是不是会想到非常简单,马上上代码 $sql ,type ...
- hive从查询中获取数据插入到表或动态分区
Hive的insert语句能够从查询语句中获取数据,并同时将数据Load到目标表中.现在假定有一个已有数据的表staged_employees(雇员信息全量表),所属国家cnty和所属州st是该表的两 ...
- PHP批量更新MYSQL中的数据
原文链接:https://blog.csdn.net/wuming19900801/article/details/62893429 $sql = "update newhouse_clic ...
- MySQL_(Java)分页查询MySQL中的数据
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门 MySQL_(Java)使用preparestatement ...
- 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化
如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示: 步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的. 步骤二: 创 ...
随机推荐
- 带参数setTimeout
/* 功能:修改 window.setTimeout,使之可以传递参数和对象参数 使用方法: window.setTimeout(回调函数,时间,参数1,,参数n) ...
- Resources与StreamingAssets文件夹的区别
1.Resources文件夹 Resources文件夹是一个只读的文件夹,通过Resources.Load()来读取对象.因为这个文件夹下的所有资源都可以运行时来加载,所以Resources文件夹下 ...
- Cardboard Talk02 Accelerometer
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Android studio 3.0.0 | Cardboard 1.0 在深入讨论具体实现之前,有必要了解一下Andro ...
- springboot+shiro+jwt
1.添加依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-sp ...
- 对一个 复杂的json结果进行取值的例子
1 JSON结果集 [ { "J_LP_OPERATE_MAIN": { "ID": "1900036295", "FILL_MA ...
- react-navigation 3.x版本的使用
安装配置请看: react-navigation 3.x版本的安装以及react-native-gesture-handler配置 2.0以前版本: StackNavigator - 一次只渲染一个页 ...
- 关于ueditor与arcgis js api同用会报错的问题
在ueditor与arcgis js api共用时,需要将ueditor\third-party\zeroclipboard\ZeroClipboard.js中的 if (typeof define ...
- Python 入门学习(贰)文件/文件夹正则表达式批量重命名工具
基于 Udacity 的 Python 入门课程 Programming Foundations with Python 基于 Python 2.7 思路 Project 2 是一个去除文件名中所有数 ...
- 解题报告-683. K Empty Slots
There is a garden with N slots. In each slot, there is a flower. The N flowers will bloom one by one ...
- Spring boot 、mybatis 和 swagger 整合
文件路径 添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...