JavaWeb03(页面跳转方法&&JDBC)

一、页面跳转方式以及区别

重定向:response(响应)

语法:response.sendRedirect("要跳转的页面");

特点:

  • 能够将页面跳转
  • 地址栏发生改变    
  • 不能将值传递到下一个页面
  • 可以跳转到任意资源
  • 在客户端发挥作用

转发:request(请求)

语法:request.getRequestDispatcher("要跳转的页面").forward(request, response);

特点:

  • 能够将页面跳转
  • 能够将值传递到下一个页面
  • 地址栏不发生改变停留在之前的界面
  • 不能随便跳转 只能跳转到当前项目内资源
  • 在服务器发挥作用

 二、JDBC【Oracle】

问题1、如何获取表单提交过来的各种类型的值 ?

用户名:
密码:
性别:
爱好:干饭 睡觉 看美女
地址:
备注:

该如何拿到上面各种类型的值呢?

//首先要设置编码方式
request.setCharacterEncoding("utf-8");
//开始接收
//用户名&密码
String name=request.getParameter("iname");
String pwd=request.getParameter("ipwd");
//取不同类型的值  取性别  地址  备注
String sex=request.getParameter("isex");
String address=request.getParameter("iaddress");
String bak=request.getParameter("ibak");
//上面的因为都是拿一个值,所以都根据name就可以拿到
//爱好不同,爱好要拿到多个
//取爱好的值
String[] ss=request.getParameterValues("ihobby");
String hobby="";//用来拼接
//循环遍历
for(String s:ss){
	hobby+=s+",";//若看这个“,”不爽,可以利用截取,把它截取调
}
//以上就是拿到的所有值打印一下
out.print(sex+" "+address+" "+bak+" "+hobby);

 问题2、连接数据库的步骤 ?

//首先需要两个常量
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";//需要导入驱动包,具体信息根据自己驱动包来填

//加载驱动
Class.forName(CNAME);

//创建连接
Connection con= DriverManager.getConnection(URL, "Oracle数据库账号", "数据库密码");

//定义sql语句
//这里以增加为例子  数据库表名为tb_0325  列sname,spwd,ssex,shobby,saddress,sbak
String sql="insert into tb_0325(sname,spwd,ssex,shobby,saddress,sbak) values(?,?,?,?,?,?)";
	
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);

//给占位符赋值
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 查rs
int n=ps.executeUpdate();//影响行数

//关资源
if(con!=null&&con.isClosed()){
	con.close();
}
if(ps!=null){
	ps.close();
}


//判断
if(n>0){
	out.print("插入成功");
}
else{
	out.print("插入失败");
}

你可能感兴趣的:(JavaWeb,eclipse,web)