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的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的. 步骤二: 创 ...
随机推荐
- Spring Boot实践——事件监听
借鉴:https://blog.csdn.net/Harry_ZH_Wang/article/details/79691994 https://blog.csdn.net/ignorewho/arti ...
- windows解压缩版MySQL5.6.40的安装
windows解压缩版MySQL5.6.40的安装 安装步骤: 1.下载mysql-5.6.40-winx64.zip https://cdn.mysql.com//Downloads/MySQL-5 ...
- Git----时光穿梭机之撤销修改05
自然,你是不会犯错,不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat readme.txtGit is a distributed version cont ...
- Maven(八) Maven项目和testng结合应用
要想使maven结合testng只需要在pom.xml文件中加入如下信息: <build> <plugins> <!-- invoke testng.xm ...
- 更改FP SYSTEM密码
1 Please create a new account and set a new password 2 backup table ABPPMGR.USER_PROFILE , ABPPMGR . ...
- 怎样查看lInux系统中的所有运行进程
可以使用ps命令.它能显示当前运行中进程的相关信息,包括进程的PID.Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息. ps命令能提供一份当前进程的快照.如果想状态可以自动刷新,可以 ...
- SpringMVC学习总结(一)--Hello World入门
一.什么是Spring MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 ...
- VMware CentOS LVM磁盘扩容
一. 在虚拟机上增加磁盘空间 如下图. 增加完后会有提示 "磁盘已成功扩展.您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统.是继续完成以下步骤才算成功. 二.调整虚拟机磁盘LVM ...
- python virtualenv环境安装(ubuntu)
测试系统ubantu16.04 该系统已经默认安装了python3.5, 当然了python2.7也同时存在着. 可以用如下命令安装pip(如下命令会默认安装pip到python2.7库中) $ su ...
- eclipse两种注释的快捷键
方法一:使用Ctrl+/快捷键 1 第1步:在Eclipse中拖动鼠标,选中需要注释的代码,通常为连续多行代码. 2 第2步:按住Ctrl+/快捷键,如图所示. 3 第3步:会发现所选代码被“// ...