页面跳转&JDBC

hello,大家好,今天给大家分享的是关于javaweb的页面跳转&JDBC,如果有错误或者疑问可以留言哦

JDBC相关知识

什么是JDBC?

JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力

JDBC API

  • DriverManager类
  • Connection接口
  • Statement接口
  • ResultSet接口

DriverManager

  • 作用:载入各种不同的JDBC驱动

JDBC 驱动

  • 作用:负责连接各种不同的数据库

JDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果

DriverManager :依据数据库的不同,管理JDBC驱动

Connection :负责连接数据库并担任传送数据的任务  

Statement :由 Connection 产生、负责执行SQL语句

ResultSet:负责保存Statement执行后所产生的查询结果

连接数据库的步骤

1.导入驱动(sqlserver,oracle,mysql),一定要执行 build pah

//OracleDriver
Class.forName("oracle.jdbc.OracleDriver");

 

2.编写连接语句

thin驱动名称  @loaclhost主机

String url="jdbc:oracle:thin:@loaclhost:1521:orcl";

打开oracle服务:开两个(服务,监听)win+x,g

需要打开服务器

 

 连接语句中的String url="jdbc:oracle:thin:@loaclhost:1521:orcl";需要与服务器的后缀相同

3.获得连接

Connection con=DriverManager.getConnection(url,"scott","123");

4.获得预编译对象(执行对象)

PreparedStatement ps=con.prepareStatement("select * from t_user where user_name=? and user_pwd=?");

给占位符赋值

ps.setString(1, name);
ps.setString(2, pwd);

创建表格:

添加数据:

5.获取结果集(结果)

ResultSet rs=ps.executeQuery();

6.判断

if(rs.next()){
	request.getRequestDispatcher("home.jsp").forward(request, response);
}else{
	response.sendRedirect("index01.jsp");
}

7.关闭资源 

if(con!=null&&con.isClosed()){
	con.close();
}
if(ps!=null){
	ps.close();
}
if(rs!=null){
	rs.close();
}

跳转界面

效果图:

输入的是数据库里有的名字和密码就会跳转页面,否则就不会

 

 代码如下:

登录界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<body>
<form action="dologin.jsp" method="post">
	<p><input name="username" placeholder="请输入名字"></p>
	<p><input name="userpwd" placeholder="请输入密码"></p>
	<button>登录</button>
</form>
</body>
</html>

首界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
	<h1>我是首页</h1>
	<h2>欢迎 <%=request.getParameter("username") %> 老爷</h2>
</body>
</html>

跳转方法界面(上面有详细介绍)

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="oracle.jdbc.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	//写java语句的
	
	//网络中的数据传输用的都是字节  文字会产生乱码的情况
	request.setCharacterEncoding("utf-8");//将请求中的字符编码设置为中文
	
	//获取来自前端的数据(request)
	String name=request.getParameter("username");
	String pwd=request.getParameter("userpwd");
	
	//1.导入驱动(sqlserver,oracle,mysql),一定要执行 build pah
	//OracleDriver
	Class.forName("oracle.jdbc.OracleDriver");
	//2.编写连接语句
	//thin驱动名称  @loaclhost主机
	String url="jdbc:oracle:thin:@localhost:1521:orcl";
	//打开oracle服务:开两个(服务,监听)win+x,g
	//3.获得连接
	Connection con=DriverManager.getConnection(url,"scott","123");
	//4.获得预编译对象(执行对象)
	PreparedStatement ps=con.prepareStatement("select * from t_user where user_name=? and user_pwd=?");
	//给占位符赋值
	ps.setString(1, name);
	ps.setString(2, pwd);
	//5.获取结果集(结果)
	ResultSet rs=ps.executeQuery();
	//6.判断
	
	//js中的跳转 location.href='xxx'
	//out.print("<script>location.href='home.jsp'</script>");
	
	// 使用java进行跳转
	// 	  【转发】 客户端产生一个请求
	// 	  【重定向】 客户端产生两个请求
	// 区别:
	//		1.转发是服务器行为,重定向是客户端行为
	//		2.转发可以携带数据,重定向不能
	//		3.转发的界面路径不会发生改变,重定向的路径会发生改变
	//【转发】
	//request.getRequestDispatcher("home.jsp").forward(request, response);
	//【重定向】
	//response.sendRedirect("home.jsp");
	
	//登录逻辑
	if(rs.next()){
		request.getRequestDispatcher("home.jsp").forward(request, response);
	}else{
		response.sendRedirect("index01.jsp");
	}
	
	//7.关闭资源 
	if(con!=null&&con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
	if(rs!=null){
		rs.close();
	}
%>

今天就分享到这里啦,下次再见咯

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值