javaWeb03(页面跳转方式&JDBC)

                                        思维导图

笔记:

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

1.重定向:response(响应)

response.sendRediect();//快捷方式记:resq.sendr

注意:--js的跳转也是属于重定向

//页面跳转方式
	//假设法:假设数据表里面存在用户名为admin的用户	密码为123456
	if("admin".equals(name)&&"123456".equals(pwd)){
		//说明登录成功
		//页面跳转方式2种
		//1.重定向response  能狗将页面跳转   地址栏发生了改变   但是不能讲值传递到下一个界面 
		//可以跳转到任意资源  在客户端发挥作用
		response.sendRedirect("http://www.baidu.com");//resq.sendr
	}
	else{
		//说明登录失败提示用户并且返回登录界面    js的跳转属于重定向 因为地址栏发生了改变login->dologin->login
        //输送到页面
		out.print("<script>alert('用户名或者密码有误');location.href='login.jsp'</script>");
	//}

重定向

对应response对象

response对象用于响应客户请求并向客户端输出信息

response.sendRedirect(String location):将请求重新定位到一个不同的URL 

2.转发:request(请求)

request.getRequestDispatcher("http://www.baidu.com").forward(request, response);//简便快捷方式记:req.getreq.for

//页面跳转方式
	//假设法:假设数据表里面存在用户名为admin的用户	密码为123456
	if("admin".equals(name)&&"123456".equals(pwd)){
		//说明登录成功
		//页面跳转方式2种
		2.转发request  能够将页面跳转  能够将值传递到下一个界面  但是地址栏不发生改变而是停留在了之前的界面
		//只能跳转到当前的项目内资源   在服务器端发挥作用
		request.getRequestDispatcher("http://www.baidu.com").forward(request, response);//req.getreq.for
	}
	else{
		//说明登录失败提示用户并且返回登录界面    js的跳转属于重定向 因为地址栏发生了改变login->dologin->login
        //输送到页面
		out.print("<script>alert('用户名或者密码有误');location.href='login.jsp'</script>");
	//}

转发

对应request对象

request对象用于响应客户请求并向客户端输出信息

request对象常用方法

request.getRequestDispatcher(String location).forward(request, response);//简便快捷方式记:req.getreq.for

 转发与重定向的区别:

        转发是服务器内部行为,客户端发送了一个请求,转发可以携带数据(request中的数据),而且,转发的界面路径不会发送改变

        重定向是客户端行为,客户端发送了一个情节,重定向不能携带数据(response中的数据),重定向的路径会发生改变

 

 二、JDBC【Oracle】

1.获取表单提交过来的各种类型的值

①.获取文本框、单选框、文本框、密码框、下拉框的值

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");

②.获取复选框的值:比如爱好

//取爱好的值
	String[] ss=request.getParameterValues("ihobby");
	String hobby="";//用来拼接
	//循环遍历
	for(String s:ss){
		hobby+=s+",";//用逗号隔开
	}

2.连接数据的步骤

①.两个常量:                不需要String static final String URL ="";   

只需要这样:     

  注意:orcl:是不是的看服务里的是不是是说明就是这样的不是那就跟这自己的服务来

<%@page import="oracle.jdbc.driver.OracleDriver"%>
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	String CNAME="oracle.jdbc.driver.OracleDriver";
	//OracleDriver ;这个不用只需要上面那个

②.加载驱动

Class.forName(CNAME);

③.创建连接(密码用户名根据自己的Oracle的用户名和密码来)

Connection con = DriverManager.getConnection(URL, "scott", "tiger");

④.定义sql语句

String sql="insert into tb_0325(sid,sname,spwd,ssex,shobby,saddress,sbak) values(?,?,?,?,?,?,?)";

⑤.获取执行对象

PreparedStatement ps = con.prepareStatement(sql);

⑥.给占位符赋值(根据sql语句的情况来定)

ps.setInt(1, Integer.parseInt(id));//String-->int
	ps.setString(2, name);
	ps.setString(3, pwd);
	ps.setString(4, sex);
	ps.setString(5, hobby);
	ps.setString(6, address);
	ps.setString(7, bak);

⑦.开始执行 增删改 int        查rs

int n = ps.executeUpdate();//影响行数

⑧.关闭资源 增删改关2个        查关3个

if(con!=null&&!con.isClosed()){//不为空且没有关
		con.close();
	}
	if(ps!=null){
		ps.close();
	}

⑨.判断

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

JDBC进行数据的提交不需要commit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值