java web ——页面跳转方式及JDBC交互

目录

页面跳转方式

1.通过HTML超链接的方式进行跳转

2.通过js的location对象进行页面跳转

3.通过java方式

3.1 转发

3.2 重定向进行跳转

3.3注意事项

 JDBC API

主要功能:

思维总结 


页面跳转方式


1.通过HTML超链接的方式进行跳转

<a href = "路径">资源地址</a>

<a href = "index.jsp?username=admin&password=123">跳转到主页</a>
	


2.通过js的location对象进行页面跳转

window.location.href = "路径";

<script type="text/javascript">
		function add(){
			/* 通过js的location对象进行页面跳转  */
			location.href = "index.jsp?result=123";
		}
	</script>

3.通过java方式

3.1 转发

        a.转发  是有服务端发起的跳转
        b.转发 跳转页面后,地址栏不会发生改变
         c.转发 跳转页面后,上一个页面的数据会保留下来  可以在跳转后的页面上进行获取  通过reuqest对象获取

response 内置对象  响应

方法:request.getRequestDispatcher("XXX").forward(request, response);     

 request.getRequestDispatcher("index.jsp").forward(request, response);     

3.2 重定向进行跳转

        a.地址栏:显示新的地址
        b.请求次数:2次
        c.根目录:http://localhost:8080/ 没有项目的名字
        d.请求域中的数据会丢失,因为是2次请求

        方法: response.sendRedirect("XXX");

 		response.sendRedirect("index.jsp");

3.3注意事项

        a.如果要保留请求域中的数据,使用转发,否则使用重定向。

        b.以后访问数据库,增删改使用重定向,查询使用转发。

        c.无论转发或重定向后续的代码都会执行

转发与重定向的区别:


 JDBC API

主要功能:

   与数据库建立连接、执行SQL 语句、处理结果。

常用对象:
    DriverManager 
        依据数据库的不同,管理JDBC驱动
    Connection 
        负责连接数据库并担任传送数据的任务
    PreparedStatement 
        由 Connection 产生、负责执行SQL语句
    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、释放资源

案例连接oral

//连接对象定义
    	Connection conn = null;
    	PreparedStatement ps = null;//执行对象
    	//结果集对象
    	ResultSet rs = null;
    	try{
    		//a.加载驱动
    		//快捷方式   倒入驱动路径     OracleDriver
    		Class.forName("oracle.jdbc.driver.OracleDriver");
    		//b.建立连接
    		String url = "jdbc:oracle:thin:@localhost:1521:orcl";//强调一下  每个人的url值的最后不一样
    		//但是大部分人是一样         服务窗口中查看OracleServiceORCL  这个服务   ORCL后面有没有字母
    		conn = DriverManager.getConnection(url, "scott", "123");
	    	//c.编写sql语句传入执行方法返回执行对象
	    	String sql = "select * from tb_users where username = ? and password = ?";
	    	ps = conn.prepareStatement(sql);
	    	//d.占位符赋值
	    	ps.setString(1, username);
	    	ps.setString(2, password);
	    	//e.返回结果集对象
	    	rs = ps.executeQuery();
	    	//d.遍历或者判断
	    	if(rs.next()){//如果结果集中存在下一条数据
	    		//有用户返回出来了   用变量接收
	    		uname = rs.getString(2);
	    		pwd = rs.getString(3);
	    	}
    	}catch(Exception e){
    		e.printStackTrace();
    	}finally{
    		if(conn!=null&&!conn.isClosed()){
    			conn.close();
    		}
    		if(ps!=null){
    			ps.close();
    		}
    		if(rs!=null){
    			rs.close();
    		}
    	}

思维总结 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊持续开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值