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

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

重定向:response(响应)

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

特点:

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

转发:request(请求)

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

特点:

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

 二、JDBC【Oracle】

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

<form action="dologin.jsp" method="post">
		用户名:<input type="text" name="iname"><br>
		密码:<input type="password" name="ipwd"><br>
		性别:<input type="radio" name="isex" value="男">男
		<input type="radio" name="isex" value="女">女<br>
		爱好:<input type="checkbox" name="ihobby" value="干饭">干饭
			<input type="checkbox" name="ihobby" value="睡觉">睡觉
			<input type="checkbox" name="ihobby" value="看美女">看美女<br>
		地址:<select name="iaddress">
				<option value="湖南省">湖南省</option>
				<option value="湖北省">湖北省</option>
				<option value="浙江省">浙江省</option>
			</select><br>
		备注:<textarea rows="10" cols="15" name="ibak"></textarea><br>
		<input type="submit" value="登录">
		<input type="reset" value="清空">
	</form>

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

//首先要设置编码方式
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("插入失败");
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值