要求: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中获取数据验证用户名密码成功跳转,失败重新验证的更多相关文章

  1. MySQL中获取天、周、月等数据

    MySQL中获取天.周.月等数据 1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 ...

  2. Loadrunner脚本优化-参数化之关联MySQL数据库获取数据

    脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1.   安装MySQL ODBC驱动程序 O ...

  3. PHP读取mysql中的数据

    <!DOCTYPE HTML> <html> <head> <title> PHP动态读取mysql中的数据 </title> <me ...

  4. 用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

  5. PHP如何批量更新MYSQL中的数据

    最近项目需要用到批量更新数据库里的数据,在网上找了一下这方面的例子,觉得这个还不错,分享给大家. 在这个业务里里面涉及到了更新两张数据表,那么大家是不是会想到非常简单,马上上代码 $sql ,type ...

  6. hive从查询中获取数据插入到表或动态分区

    Hive的insert语句能够从查询语句中获取数据,并同时将数据Load到目标表中.现在假定有一个已有数据的表staged_employees(雇员信息全量表),所属国家cnty和所属州st是该表的两 ...

  7. PHP批量更新MYSQL中的数据

    原文链接:https://blog.csdn.net/wuming19900801/article/details/62893429 $sql = "update newhouse_clic ...

  8. MySQL_(Java)分页查询MySQL中的数据

    MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门 MySQL_(Java)使用preparestatement ...

  9. 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化

    如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示:   步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的.     步骤二:   创 ...

随机推荐

  1. Download/Attach source-code/java-docs with maven dependencies

    I am using Maven in my projects from last couple of years, and the automatically downloading the Jar ...

  2. Maven(一) Maven3 的安装与配置

    Maven的安装以及环境变量的配置: a).在安装maven之前,先确保已经安装JDK1.7及以上版本,并且配置好JDK的环境变量. b).下载maven3,下载地址:http://maven.apa ...

  3. Search Quick Union Find(图的存储结构)

    Quick Find:适用于search频繁的情况 每个节点有一个id值,id相同表示两个节点相连通.在union时要将等于某一个id值都改成另一个id值 Quick Union: 适用于union频 ...

  4. mysql 一次性插入上万条数据测试专用

    无聊期间 记录下 mysql 一次性插入上万条数据 测试的时候可以用 首先 创建一个表 t3 create table t3(id int)ENGINE = MyISAM; \d //    表示吧m ...

  5. Centos7 下mariadb安装

    1.创建 /etc/yum.repos.d/MariaDB.repo vim  /etc/yum.repos.d/MariaDB.repo 添加如下内容: [mariadb]name=MariaDB ...

  6. firefox快速刷新error及解决办法

    问题: 测试发过来bug,说——频繁F5刷新页面,会闪现未加载完样式的页面:    开发用的Chrome,没发现这个问题,测试用的firefox,于是从浏览器的刷新加载机制方面搜索解决办法,没搜到,运 ...

  7. PHPCMS V9 模块开发 二次开发实例 留言本

    鄙人实现了PHPCMS V9 产品开发权威指南(2011官方最新版).doc中的留言板实例,并加上模块安装和卸载功能, 程序可以运行,但只实现基本功能,目的是想让和我一样徘徊在PHPCMS门口不知道从 ...

  8. FZU 1977 Pandora adventure (DP)

    题意:给定一个图,X表示不能走,O表示必须要走,*表示可走可不走,问你多少种走的法,使得形成一个回路. 析: 代码如下: #pragma comment(linker, "/STACK:10 ...

  9. (连通图 缩点 强联通分支)Popular Cows -- poj --2186

    http://poj.org/problem?id=2186 Description Every cow's dream is to become the most popular cow in th ...

  10. javascript与java的相互调用,纯java的javascript引擎rhino(转载)

    1.下载Rhino安装包,下载地址:官网http://www.mozilla.org/rhino. 2.rhino环境配置,把解压出来的js.jar文件加入到系统的环境变量classpath 3.在命 ...