要求: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
}

最新文章

  1. UploadFile控件,提交图片后,页面预览显示刚刚提交的图片
  2. JQuery笔记
  3. MAC OS terminal 快捷键记录
  4. python1day
  5. 【CodeVS 2822】爱在心中
  6. 突破软件试用期的&quot;土方法&quot;
  7. 使用Maven构建RichFaces 4.x项目
  8. 主题:Android、iPhone和Java三个平台一致的加密工具
  9. [译]Python编写虚拟解释器
  10. 【HTML5】Application Cache应用程序缓存
  11. Java并发包中常用类小结(一)
  12. mysql颠覆实战笔记(三)-- 用户登录(二):保存用户操作日志的方法
  13. ScheduleThreadPoolExecutor源码分析(二)
  14. java创建XML及开源DOM4J的使用
  15. Makefile中使用foreach生成一类规则
  16. convention-plugin
  17. 新学到的xss姿势,分享一下
  18. 记一次企业级爬虫系统升级改造(六):基于Redis实现免费的IP代理池
  19. 9.视差特效、回弹动画、overScrollBy
  20. SpringMVC参数绑定(四)

热门文章

  1. CommonDialog控件
  2. (网页的缓存控制)HTML配置no-cache(备忘) “Cache-control”常见的取值
  3. zookeeper简绍
  4. 【316】python.requests 读取网页信息
  5. Centos7手动编译安装Python3
  6. RocketMQ runbroker.sh 分析JVM启动参数
  7. 看图说说JVM新生代垃圾收集器
  8. HTTP请求头和响应头总结
  9. Grails入门系列(一)
  10. ZSTU4266 回文 2017-03-22 14:25 55人阅读 评论(0) 收藏