javaweb(页面跳转方式&JDBC数据交互API)

本文详细介绍了JavaWeb中的页面跳转方式,包括HTML超链接、JavaScript和Java方式(转发、重定向),重点讲解了转发与重定向的特点及应用场景。此外,还阐述了JDBC API的主要功能和常用对象,以及Java通过JDBC连接Oracle数据库进行数据交互的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

   一、页面跳转方式
       1. HTML超链接的方式
       2. javascript方式跳转
           window.location.href = "跳转的地址"
       3.java方式跳转
            转发
                概述
                    由服务器端进行的页面跳转
                方法
                    (1)获取转发器====》RequestDispatcher rd =  request.getRequestDispatcher("/跳转的地址")
                    (2)实现转发====》转发器对象.forward(request,response);
                    通常简写:request.getRequestDispatcher("/跳转的地址").forward(request,response);
                特点
                    (1)地址栏不发生变化,显示的是上一个页面的地址
                    (2)请求次数:只有1次请求,因为转发是服务端行为。
                    (3)根目录:http://localhost:8080/项目地址/,包含了项目的访问地址
                    (4)请求域中数据不会丢失
            重定向
                概述
                    由浏览器端进行的页面跳转
                方法
                    response.sendRedirect("要跳转的地址");
                特点
                    (1)地址栏:显示新的地址
                    (2)请求次数:2次
                    (3)根目录:http://localhost:8080/ 没有项目的名字
                    (4)请求域中的数据会丢失,因为是2次请求
            注意事项
                什么时候使用转发,什么时候使用重定向?
                    如果要保留请求域中的数据,使用转发,否则使用重定向。
                    以后访问数据库,增删改使用重定向,查询使用转发。
                转发或重定向后续的代码是否还会运行?
                    无论转发或重定向后续的代码都会执行
            重定向和转发的区别


                
    二、JDBC API
     
    主要功能          与数据库建立连接、执行SQL 语句、处理结果

常用对象        
         a.   DriverManager   依据数据库的不同,管理JDBC驱动
              
       b.     Connection 负责连接数据库并担任传送数据的任务
                
          c.  PreparedStatement   由 Connection 产生、负责执行SQL语句
              
    d.  ResultSet     负责保存Statement执行后所产生的查询结果
             
        java通过jdbc连接Oracle数据库进行交互的步骤
            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、释放资源

 

javaweb_03 JSP页面跳转方式以及JDBC数据交互

1.JSP页面跳转方式

跳转方式如下:

  • form表单提交跳转(上节课已讲)

  • 超链接标签跳转

  • javascript中的location.href跳转

  • java的方式跳转:

    • 请求转发跳转

    • 请求重定向跳转

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>

1.5 java的方式跳转

  • 请求转发:面向服务端跳转,1次请求,可以将参数传递到另外的页面去获取,地址栏不会发生改变

  • 请求重定向:面向浏览器客户端跳转,2次请求,不可以将参数传递到另外的页面去获取,地址栏会发生改变

请求转发:
通过request对象进行跳转
request.getRequestDispatcher("/页面地址").forward(request, response);
​
请求重定向:
通过response对象进行跳转
response.sendRedirect("success.jsp");

怀疑的状态:通过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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值