1.页面跳转方式
(1).form表单提交跳转
<form action = "提交地址" method = "提交方式">
提交方式两种:get post
传值 action = "提交地址?提交的值"
隐藏域:<input type = "hidden" name = "xxx" value = "传入的值"/>
(2).HTML超链接标签进行跳转
<a href = "地址"></a>
传多个值(用&隔开) href = "地址?值&值"
(3).js脚本中的BOM对象 location
//必须包裹在script标签内
location.href = "地址?值&值"
(4).java的方式--请求转发
在服务端进行跳转,1次请求,地址栏不会发生改变,会携带值到下一个页面,会保存值
(1)获取转发器====》RequestDispatcher rd = request.getRequestDispatcher("/跳转的地址")
(2)实现转发====》转发器对象.forward(request,response);
通常简写:request.getRequestDispatcher("/跳转的地址").forward(request,response);
(5).java的方式--请求重定向
地址栏会发生改变,2次请求,数据会丢失,因为是2次请求
方法:response.sendRedirect("要跳转的地址");
注意事项:
什么时候使用转发,什么时候使用重定向?
1.如果要保留请求域中的数据,使用转发,否则使用重定向。
2.以后访问数据库,增删改使用重定向,查询使用转发。
转发或重定向后续的代码是否还会运行?
无论转发或重定向后续的代码都会执行
重定向和转发的区别
2.JDBC API
主要功能:
与数据库建立连接、执行SQL 语句、处理结果
常用对象:
DriverManager 依据数据库的不同,管理JDBC驱动
Connection 负责连接数据库并担任传送数据的任务
PreparedStatement 由 Connection 产生、负责执行SQL语句
ResultSet 负责保存Statement执行后所产生的查询结果
java通过jdbc连接Oracle数据库进行交互的步骤
1、加载JDBC驱动 Class.forName(JDBC驱动类);
Class.forName("oracle.jdbc.driver.OracleDriver");
2、与数据库建立连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","admin");
3、发送SQL语句,并得到返回结果
String sql = "select * from tb_user where uname = ? and upwd = ?";
PreparedStatement ps = conn.prepareStatement(sql);
4、处理返回结果
ResultSet rs = ps.executeQuery();
//判断结果集
if(rs.next()){//如果有下一个值
//转发---
//out.print("<script>alert('登录成功')</script>");
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
//重定向---新的请求方式
//out.print("<script>alert('登录失败')</script>");
response.sendRedirect("login.jsp");
}
5、释放资源
rs.close();
ps.close();
conn.close();