今天是JavaWeb的第三节课,今天小编主要带大家学习页面跳转方式和连接数据库操作登录,大家有什么不懂的在下方评论或者私信,看到了一定会为大家解答的。
目录
一.界面跳转
JS中的跳转
Java中的跳转
二.连接数据库进行操作
一.界面跳转
JS中的跳转
js中的跳转我们要编写在,因为我们的JS代码都是在script中编写的, 否则代码无效。
格式:
out.print("");
Java中的跳转
【转发】:你找小明借钱,小明没有钱,于是他找小红拿了钱借给你
【重定向】:你找小明借钱,小明说没钱,你去找小红借钱,小红借给你了你
区别:
1.转发是服务器行为,重定向是客户端行为
2.转发可以携带数据(request中的数据),重定向不能
重向为什么不能带数据:(比如你带了一把糖,你想找小明借你钱,小明没有借你钱, 但是他把你的糖给吃了,你就没有糖给小红了)
3.转发的界面路径不会发生改变,重定向的路径会发生改变
格式:
【转发】request.getRequestDispatcher("界面名字").forward(request, response);
【重定向】response.sendRedirect("界面名字");
二.连接数据库进行操作
首先我们要把驱动包拖进去,放在webapp文件下的lib文件下,然后右键点击build path,在点击像牛奶瓶一样的哪里,文件位置一定不要发错,牛奶瓶一定要点,不然会报错。 我们打开数据库oracle时,去手动打开服务win+x--->选择计算机管理(G)--->服务器和应用程序---->服务-->启动OracleServiceORCL和OracleOraDb11_home1TNSListener去数据框创建一张用户表,插入信息,方便我们操作。
JS中的跳转
js中的跳转我们要编写在,因为我们的JS代码都是在script中编写的, 否则代码无效。
格式:
out.print("");
Java中的跳转
【转发】:你找小明借钱,小明没有钱,于是他找小红拿了钱借给你
【重定向】:你找小明借钱,小明说没钱,你去找小红借钱,小红借给你了你
区别:
1.转发是服务器行为,重定向是客户端行为
2.转发可以携带数据(request中的数据),重定向不能
重向为什么不能带数据:(比如你带了一把糖,你想找小明借你钱,小明没有借你钱, 但是他把你的糖给吃了,你就没有糖给小红了)
3.转发的界面路径不会发生改变,重定向的路径会发生改变
格式:
【转发】request.getRequestDispatcher("界面名字").forward(request, response);
【重定向】response.sendRedirect("界面名字");
首先我们要把驱动包拖进去,放在webapp文件下的lib文件下,然后右键点击build path,在点击像牛奶瓶一样的哪里,文件位置一定不要发错,牛奶瓶一定要点,不然会报错。 我们打开数据库oracle时,去手动打开服务win+x--->选择计算机管理(G)--->服务器和应用程序---->服务-->启动OracleServiceORCL和OracleOraDb11_home1TNSListener去数据框创建一张用户表,插入信息,方便我们操作。
下方的代码是一个表单验证,登录界面,匹配数据库的信息,判断用户输入的人是否在用户表中存在,存在的话我们就跳转界面去到首页,代码第详细的打好流 备注,大家跟着代码敲一遍,因为其实相对来说今天的东西都是大家应该学过的,也是非常简单的。
1.登录界面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
登录界面
2.操作数据库
<%@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"%>
<%
//编写Java代码
//连接数据库,进行判断登录的用户是否存在数据库中的用户表中。
String name=request.getParameter("userName");//名字一定要和前端的名字一样
String pwd=request.getParameter("userPwd");
//1.导入驱动(sqlserver,oracle,mysql),一定要执行 build path
//OrcaleDriver
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.编写连接语句
String url="jdbc:oracle:thin:@localhost:1521:orcl";//打开服务win+x
//3.获得连接
Connection con= DriverManager.getConnection(url,"scott","zking123");
//4.获得预编译对象(执行对象)
PreparedStatement ps=con.prepareStatement("select * from jw03_user where username=? and userpwd=?");
//给占位符赋值
ps.setString(1, name);
ps.setString(2, pwd);
//5.拿到结果集
ResultSet rs=ps.executeQuery();
//6.判断【登录验证,页面跳转】
// js中的跳转 location.href='xxx'
// out.print("");//可以输出html语句
// 使用java进行跳转
// 【转发】:你找小明借钱,小明没有钱,于是他找小红拿了钱借给你
// 【重定向】:你找小明借钱,小明说没钱,你去找小红借钱,小红借给你了你
// 区别:
// 1.转发是服务器行为,重定向是客户端行为
// 2.转发可以携带数据(request中的数据),重定向不能
//重向为什么不能带数据:(比如你带了一把糖,你想找小明借你钱,小明没有借你钱,但是他把你的糖给吃了,你就没有糖给小红了)
// 3.转发的界面路径不会发生改变,重定向的路径会发生改变
// 【转发】request.getRequestDispatcher("home.jsp").forward(request, response);
// 【重定向】response.sendRedirect("home.jsp");
if(rs.next()){
//当该用户存在跳转到首页去
request.getRequestDispatcher("Main.jsp").forward(request,response);
}else{
//当输入的用户不存在,回到登录界面
response.sendRedirect("login.jsp");
}
%>
3.首页
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
首页
欢迎来到首页
今天的学习就到这里啦,我认为很多东西无法用文字表达清楚,所以我也是比较喜欢放代码在上面,因为我觉得看代码会更直接让你明白是怎么写的,怎么操作,大家跟着代码敲一遍噢,今天的学习就到这里啦,下次见!!!



