家人们~我又来更新我们今天的小知识啦~
今天我们学的知识涉及到连接数据库了哦~大家认真听!
目录
一.Web中进行页面跳转的几种方法
1. 使用js方法跳转
js中的跳转方式: location.href='xxx'
eg:
out.print("<script>location.href='Home.jsp'</script>");//使用js方法跳转
注意:使用js方法时,前后一定要加上script标签.
2.使用html方法跳转
html中的a标签
eg:
<a href="Home.jsp"></a>
3.使用Java方法跳转
<1>.转发
<2>.重定向
小知识:
网络中的数据传输用的都是字节 汉字会产生乱码的情况
request.setCharacterEncoding("utf-8");//将请求中的字符编码设置为中文
二.JDBC(数据库连接)
<1>.导入jar包的步骤
1.首先要导入jar包
2.将jar包导入到lib包中
3.双击jar包,找到Build Path,然后点击添加牛奶瓶
4.添加完后,只要牛奶瓶在Referenced Libraries 下就可以了
<2>.如何打开Oracle服务
<3>.连接数据库的七个步骤
- 导入驱动(在此之前一定要导入牛奶瓶 build path)
- 编写连接语句
- 获得连接
- 获得预编译对象(执行对象)
- 获得结果集(结果)
- 判断【登陆验证,页面跳转】
- 关闭资源
<4>.建立Oracle表(新增数据,一定要注意提交!)
三.案例
登陆界面:
<%@ 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>
<form action="doLogin.jsp" method="get">
<p>
<input type="text" name="uersname" placeholder="请输入用户名">
</p>
<p>
<input type="password" name="uerspwd" placeholder="请输入密码">
</p>
<p><button>登陆</button></p>
</form>
</body>
</html>
登陆中的功能界面:
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ 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>
<%
//网络中的数据传输用的都是字节 汉字会产生乱码的情况
request.setCharacterEncoding("utf-8");//将请求中的字符编码设置为中文
//写功能 Java代码
//获取来自前端的数据(通过request)
String name=request.getParameter("uersname");
String pwd=request.getParameter("uerspwd");
//连接数据库的七个步骤
//1.导入驱动(之前一定要导入牛奶瓶 build path)
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.编写连接语句
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//3.获得连接
Connection con=DriverManager.getConnection(url,"scott","tlt1516131462qmt");
//4.获得预编译对象(执行对象)
PreparedStatement ps=con.prepareStatement("select * from Web01_user where uname=? and upwd=?");
//给占位符赋值
ps.setString(1,name);
ps.setString(2,pwd);
//5,获得结果集(结果)
ResultSet rs=ps.executeQuery();
//6.判断【登陆验证,页面跳转】
//7.关闭资源
//最后两步在下面的代码:
//使用Java进行跳转
//1.【转发】
//eg:我妹妹向我借钱,我身上虽然没钱,但是我为了面子,向我同学借钱,我拿着我同学借给我的钱借给了我妹妹
//2.【重定向】
//eg:我牙膏没有了,找小美借,小美说:"我的牙膏也快没有了,你找小丽借点吧,她昨天刚买了新的";于是我去找小丽,她就借了牙膏给我
//区别:
//1.转发是服务器行为,重定向是客户端行为
//2.转发可以携带数据,重定向不能
//3.转发的界面路径不会发生改变,而重定向的界面路径会发生改变
//登陆逻辑:(如果输入对了就跳转界面)
//要实现页面跳转,可以用html中的a标签,也可以使用js语句
if(rs.next()){
//js中的跳转方式: location.href='xxx'
//out.print("<script>location.href='Home.jsp'</script>");//使用js方法跳转
//【转发】
request.getRequestDispatcher("Home.jsp").forward(request,response);
}else{
//【重定向】
response.sendRedirect("Home.jsp");
}
//关闭资源
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>
</body>
</html>
登陆后界面:
<%@ 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>
<h1>我是首页</h1>
<h2>欢迎<%=request.getParameter("uersname") %>回家!</h2>
<h2><%=request.getParameter("uerspwd") %></h2>
</body>
</html>
运行结果如下:
好啦,今天的内容就到此为止啦~ 下期见啦
祝你我在犬马声色的世界里保持清澈.