目录

让我们先来看看今天的思维导图:

1.JSP页面跳转方式


1.1 form表单提交跳转

1.2 超链接标签页面跳转

1.4 js中location页面跳转

5 java的方式跳转

2.JDBC数据库交互


让我们先来看看今天的思维导图:

java 登录界面跳转用户界面 javaweb登录页面跳转_页面跳转

 

1.JSP页面跳转方式

跳转方式如下:

  • form表单提交跳转(上节课已讲)
  • 超链接标签跳转
  • javascript中的location.href跳转
  • java的方式跳转:
  • 请求转发跳转
  • 请求重定向跳转

图解:

java 登录界面跳转用户界面 javaweb登录页面跳转_java_02

1.1 form表单提交跳转

要求:action和method都需要配置,method不自己设置,默认就是get请求

问题:参数传递

<form action = "1.jsp?password=123" method = "post">
        账号: <input type = "text" name = "username"/>
        <br/><br/>
        <input type ="submit" value = "登录"/>
</form>
<!-- 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.4 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>

5 java的方式跳转

  • 请求转发:面向服务端跳转,1次请求,可以将参数传递到另外的页面去获取,地址栏不会发生改变
  • 请求重定向:面向浏览器客户端跳转,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变
请求转发:
通过request对象进行跳转
request.getRequestDispatcher("/页面地址").forward(request, response);

请求重定向:
通过response对象进行跳转
response.sendRedirect("success.jsp");
请求重定向:面向浏览器客户端跳转,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变
请求转发:面向服务端跳转,1次请求,可以将参数传递到另外的页面去获取,地址栏不会发生改变

怀疑的状态:通过java的方式进行页面跳转后,也需要有弹窗提示,别急 通过域对象可以设置

2.JDBC数据库交互

基础知识

1.jdbc:java程序与oracle数据库一个连接的桥梁。 2.jdbc中提供的接口以及类 Class.forName(); 加载驱动 DriverMagaer:驱动管理类,根据不同的驱动jar连接对应的数据库,返回连接对象 DriverManager.getConnection(url,user,password); Connection 数据库连接类 PreparedStatement 执行对象,有连接对象调用特定的方法将sql语句传入并返回其对象 ResultSet 结果集对象,通过执行对象调用特定的方法后返回的对象,该对象只针对查询操作,将查询的结果保存在了结果集对象ResultSet中,可以遍历得到这个结果集对象中的每一条记录。 next(); 如果结构及对象中存在查询的记录   可以进行打印输出 占位符: ?   通过执行对象.setXxx(设置); 3.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 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();