目录
一、页面跳转方式
2、java方式跳转
2.1 转发(resquest):
2.2 重定向(response):
二、JDBC API
1、功能:
2、常用对象:
3、java通过jdbc连接Oracle数据库进行交互的步骤:
1、javascript方式跳转------window.location.href = "跳转的地址"
概述:由服务器端进行的页面跳转
方法:(1) 获取转发器====》RequestDispatcher rd = request.getRequestDispatcher("/跳转的地址")
(2) 实现转发====》转发器对象.forward(request,response);
通常简写:request.getRequestDispatcher("/跳转的地址").forward(request,response);
特点:
(1) 地址栏不发生变化,显示的是上一个页面的地址
(2) 请求次数:只有1次请求,因为转发是服务端行为。
(3) 根目录:http://localhost:8080/项目地址/,包含了项目的访问地址
(4) 请求域中数据不会丢失
request可以接收哪两种方式的值?
①通过form表单
要求:action和method都需要配置,method不自己设置,默认就是get请求
//参数传递
②通过超链接传值
不带参数超链接页面跳转
跳转到1.jsp页面
h5>带参数超链接页面跳转
跳转到1.jsp页面
概述:由浏览器端进行的页面跳转
方法:response.sendRedirect("要跳转的地址");
特点:
(1)地址栏:显示新的地址
(2)请求次数:2次
(3)根目录:http://localhost:8080/ 没有项目的名字
(4)请求域中的数据会丢失,因为是2次请求
js的重定向跳转
out.print("");
js中location页面跳转
注意事项:
1、什么时候使用转发,什么时候使用重定向?
如果要保留请求域中的数据,使用转发,否则使用重定向。
以后访问数据库,增删改使用重定向,查询使用转发。
2、转发或重定向后续的代码是否还会运行?
无论转发或重定向后续的代码都会执行
请求转发:
通过request对象进行跳转
request.getRequestDispatcher("/页面地址").forward(request, response);
请求重定向:
通过response对象进行跳转
response.sendRedirect("success.jsp");
与数据库建立连接、执行SQL 语句、处理结果
DriverManager 依据数据库的不同,管理JDBC驱动
Connection 负责连接数据库并担任传送数据的任务
PreparedStatement 由 Connection 产生、负责执行SQL语句
ResultSet 负责保存Statement执行后所产生的查询结果
(1) 加载JDBC驱动
Class.forName(JDBC驱动类);
(2) 与数据库建立连接
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","admin");
(3) 发送SQL语句,并得到返回结果
(4) 处理返回结果
(5) 释放资源
//使用步骤
//1.注册驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.连接数据库
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection conn = DriverManager.getConnection(url, "scott", "123");
//3.执行sql语句
String sql = "select * from tb_user where uname = ? and upwd = ?";
//4.操作数据
PreparedStatement ps = conn.prepareStatement(sql);
//给占位符设置值
ps.setString(1, username);
ps.setString(2,password);
//返回结果集
ResultSet rs = ps.executeQuery();
//判断结果集
if(rs.next()){//如果有下一个值
//转发---
//out.print("");
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
//重定向---新的请求方式
//out.print("");
response.sendRedirect("login.jsp");
}
//5.关闭连接
rs.close();
ps.close();
conn.close();
4.web程序通过jdbc连接oracle与sqlserver差不多
Class.forName("OracleDriver");//SQLServerDriver
url
sqlserver
jdbc:sqlserver://lcoalhost:1433;DatabaseName=db_xxx
oracle
jdbc:oracle:thin:@localhost:1521:orcl
特别要注意:
oracle中的url地址中都是: 没有其它符号
oracle的端口号: 1521
orcl:实例名 *** 服务名称
服务名称: OracleServiceORCL orcl
OracleServiceORCLE orcle