1.jsp页面跳转方式
跳转方式如下:
form表单提交跳转
超链接标签跳转
javascript中的location.href跳转
java的方式跳转:
请求转发跳转
请求重定向跳转
1.1 form表单提交跳转
要求:action和method都需要配置,method不自己设置,默认就是get请求
<!-- HTMLform标签时 hidden 隐藏域标签 -->
<!-- 作用:页面传值 不会在页面上显示 -->
<input type ="hidden" name = "sex" value = "男"/>
1.2 超链接标签页面跳转
<h5>不带参数超链接页面跳转</h5>
<a href = "1.jsp">跳转到1.jsp页面</a>
<h5>带参数超链接页面跳转</h5>
<a href = "1.jsp?hobby=打游戏">跳转到1.jsp页面</a>
1.3 js中location页面跳转
<button type = "button" onclick = "one()">不带参数跳转</button>
<button type = "button" onclick = "two()">带参数跳转</button>
<script type="text/javascript">
function one(){
//location对象跳转
location.href = "1.jsp";
}
function two(){
location.href = "1.jsp?age=12";
}
</script>
1.4 java的方式跳转
请求转发:面向服务端跳转,1次请求,客户要将参数传递到另外的页面去获取,地址栏不会发生改变
请求重定向:面向浏览器客户端,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变
请求转发:
通过request对象进行跳转
request.getRequestDispatcher("/页面地址").forward(request, response);
请求重定向:
通过response对象进行跳转
response.sendRedirect("success.jsp");
2.JDBC数据库交互
2.1 JDBC:java程序与oracle数据库一个链接的桥梁
2.2 JDBC中提供的接口以及类
Class.forName();
加载驱动
DriverManger:驱动管理类,根据不同的驱动jar连接对应的数据库,返回连接对象
DriverManger.getConnnection(url,user,password);
Connection:数据库连接类
PreparedStatement 执行对象,由连接对象调用特定的方法将sql语句传入并放回其对象
ResultSet:结果集对象,通过执行对象调用特定的方法后放回的对象,该对象只针对查询操作,讲查询的结果保存在了结果集对象ResultSetZ中,可以遍历得到这个结果集对象中的每一条记录
next():如果结果集对象中存在查询的记录,可以进行打印输出
占位符: ? 通过执行对象 .setXxx(设置);
web查询通过jdbc连接oracle与sqkserver差不多
Class.forname("OrderDriver");//SQLserverDriver
URL
sqlserver
jdbc:sqlserver://localhost:1433;DatabaseName=db_xxx
oracle
jdbc:oracle:thin:@localhost:1521:orcl
特别注意:
oracle中的url地址中都是: 没有其它符号
oracle的端口号: 1521
orcl:实例名 *** 服务名称
服务名称: OracleServiceORCL orcl
3.**jdbc连接数据库的步骤**
准备阶段:
1.编写sql数据表
2.导入指定的架包
步骤如下:
使用步骤
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("<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();