javaWeb_03(页面跳转方式&JDBC&Oracle标识列)

思维导图

一、页面跳转的方式:

1、重定向 response 它可以能够跳转到任意界面,地址栏发生了改变, 但是不能将值传播到下一个界面

//1.重定向 response
	  //能够将页面跳转 地址栏发生了改变 但是不能将值传播到下一个界面
	  //能够跳转到任意界面 在客户端发挥作用	  
	  response.sendRedirect("http://www.baidu.com");

2、转发 request 它只能够转发到当前的项目内资源,能够将值传播到下一个界面 但是地址栏不发生改变而是停留在了之前的界面

//转发 request
	  //能够将页面跳转 能够将值传播到下一个界面 但是地址栏不发生改变而是停留在了之前的界面 
	  //只能够转发到当前的项目内资源 在服务器端发挥作用
 	  request.getRequestDispatcher("http://www.baidu.com").forward(request, response);

3、js的跳转属于哪一种?

out.print("<script>alert('用户名或者密码有误');location.href='login.jsp';</script>");

属于重定向 因为地址栏发生了改变

二、JDBC:

1、JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力

2、JDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果 

  2.1、jdbc连接Oracle数据库: 导入驱动包

  连接:   jdbc:oracle:thin:@localhost:1521:orcl   注意:打错一个就连接不上了

 2.1、连接步骤:

1、导入驱动包

2、加载驱动

3、连接Oracle

4、定义SQL语句

5、获得执行对象

6、关闭资源

 //两个字符串
  String URL="jdbc:oracle:thin:@localhost:1521:orcl";
  String CNAME="oracle.jdbc.driver.OracleDriver";
  //OracleDriver
  
  //加载驱动
  Class.forName(CNAME);
  
  //创建连接
  Connection con=DriverManager.getConnection(URL, "scott", "tiger");
  
  //定义sql语句
  //使用了标识列就不要id了
  String sql="insert into tb_0328(sname,spwd,ssex,shobby,saddress,sbak) values(?,?,?,?,?,?)";
  
  //获得执行对象
  PreparedStatement ps=con.prepareStatement(sql);
  
  //给占位符赋值
  //ps.setInt(1, Integer.parseInt(id));//String-->int
  ps.setString(1, name);
  ps.setString(2, pwd);
  ps.setString(3, sex);
  ps.setString(4, hobby);
  ps.setString(5, address);
  ps.setString(6, bak);
  
  //开始执行
  //...增删改 影响行数 int
  //..查  结果集 集合
  int n=ps.executeUpdate();//获取影响行数
  
  //关闭资源
  //...增删改  2个
  //...查   3个  rs
  if(con!=null&&!con.isClosed()){//不为空且没有关
	  con.close();
  }
  if(ps!=null){
	  ps.close();
  }
  
  //判断
  if(n>0){
	  response.sendRedirect("success.jsp");
  }else{
	  out.print("插入失败");
  }

3、JDBC进行数据的提交是否需要commit?

不需要,因为JDBC帮你提交了

三、Oracle标识列:序列+触发器

 --创建序列
  create sequence ss_0329; 
   --创建触发器
  create or replace trigger tc
  before  insert --注意:前触发
  on tb_0328 --表
  for each row 
  begin
     :new.sid  :=ss_0329.nextval ; --拿到序列的下一个值给临时表:new的学号列  
  end;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值