javaweb页面跳转&JDBC

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

1)、重定向:response(响应)------response.sendRedirect()

2)、转 发:request(请求) -----request.getRequestDispatcher().forward(request, response);

3)、两者的区别

1、转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递;

2、重定向是在客户端发挥作用,通过请求新的地址实现页面转向 ;

3、转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址 ;

4、重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址。

//页面跳转方式
	//假设法:假设数据表里面存在用户名为admin的用户 密码为123456
	///if("admin".equals(name)&&"123456".equals(pwd)){
		//说明登录成功 跳转到success.jsp
		//页面跳转方式2种
		//1.重定向response 能够将页面跳转 地址栏发生了改变 但是不能将值传递到下一个界面
		// 可以跳转到任意资源 在客户端发挥作用
		//response.sendRedirect("http://www.baidu.com");//resp.sendr
		
		//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>");//输送到页面 
	//}
%>

二、JDBC【Oracle】

1.什么是jdbc?

 2、连接数据库的步骤 ?

<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	//纯java代码
	//设置编码方式
	request.setCharacterEncoding("utf-8");
	//接收表单提交过来的值(用户名&密码)
	String id=request.getParameter("iid");//所设的name值
	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+",";//用逗号隔开 
	}
	//如果看不惯最后那个逗号 大家可以用substring截取掉 
	//jdbc连接Oracle 插入到数据库中 
	//作业1 sid:使用触发器+序列实现标识列效果 
	
	//两个常量
	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语句
	String sql="insert into tb_0327(sid,sname,spwd,ssex,shobby,saddress,sbak) values(?,?,?,?,?,?,?)";
	
	//获取执行对象
	PreparedStatement ps=con.prepareStatement(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("插入失败");
	}
	
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值