javaweb 页面跳转方式 jdbc

转发的作用:在多个页面交互过程中实现请求数据的共享 转发的实现: RequestDispatcher对象 forward()方法

//2.转发request
	//能够将页面跳转  能够将值转递下一个界面 但是地址栏不发生改变而是停留在了之前的界面 只能狗转发到当前的姓名内资源
	//只能狗转发到当前的项目内资源  在服务器端发挥作用
	//request.getRequestDispatcher("seccess.jsp").forward(request, response);
//}
//else{
	//说明登录失败  提示用户并返回登录界面 js的跳转属于哪一种?属于重定向 因为地址栏发生了改变login-->dologin-->login
	//out.print("<script>alert('用户名登录失败');location.href='login.jsp';</script>");
//}
//out.print(name+" "+pwd);
%>

转发与重定向的比较


//假如我的数据表里面已经存在用户admin 密码为123456
//if("admin".equals(name)&&"123456".equals(pwd)){
	//说明登录成功  跳转到success.jsp
	//页面跳转两种方式
	//1.重定向response
	//能够将对象进行跳转 地址栏发生了改变  但是不能将值转递到下一个姐妹们 能够跳转到任意资源
	//在客户端发挥作用
	//response.sendRedirect("http://www.baidu.com");
	
	
	//2.转发request
	//能够将页面跳转  能够将值转递下一个界面 但是地址栏不发生改变而是停留在了之前的界面 只能狗转发到当前的姓名内资源
	//只能狗转发到当前的项目内资源  在服务器端发挥作用
	//request.getRequestDispatcher("seccess.jsp").forward(request, response);
//}
//else{
	//说明登录失败  提示用户并返回登录界面 js的跳转属于哪一种?属于重定向 因为地址栏发生了改变login-->dologin-->login
	//out.print("<script>alert('用户名登录失败');location.href='login.jsp';</script>");
//}
//out.print(name+" "+pwd);
%>

jdbc

 

<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
//设置编码方式
  request.setCharacterEncoding("utf-8");
//接收表单的值: 用户名 密码 根据name 值 取value值
String id=request.getParameter("iid");
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截取
out.print(hobby);
//jdbc连接oracle 把这个用户信息连接到oracle
//作业: 用触发器+序列实现标识例效果 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_0328(sid,sname,spwd,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
//查 结果集 集合
int n=ps.executeUpdate();//获取影响行数

//关闭资源
//增 删 改 二个
//查  三个

if(con!=null&&!con.isClosed()){
	con.close();
	
}
if(ps!=null){
	ps.close();
}

//判断
if(n>0){
	response.sendRedirect("success.jsp");
}
else{
	out.print("插入失败");
	
}



//假如我的数据表里面已经存在用户admin 密码为123456
//if("admin".equals(name)&&"123456".equals(pwd)){
	//说明登录成功  跳转到success.jsp
	//页面跳转两种方式
	//1.重定向response
	//能够将对象进行跳转 地址栏发生了改变  但是不能将值转递到下一个姐妹们 能够跳转到任意资源
	//在客户端发挥作用
	//response.sendRedirect("http://www.baidu.com");
	
	
	//2.转发request
	//能够将页面跳转  能够将值转递下一个界面 但是地址栏不发生改变而是停留在了之前的界面 只能狗转发到当前的姓名内资源
	//只能狗转发到当前的项目内资源  在服务器端发挥作用
	//request.getRequestDispatcher("seccess.jsp").forward(request, response);
//}
//else{
	//说明登录失败  提示用户并返回登录界面 js的跳转属于哪一种?属于重定向 因为地址栏发生了改变login-->dologin-->login
	//out.print("<script>alert('用户名登录失败');location.href='login.jsp';</script>");
//}
//out.print(name+" "+pwd);
%>


版权声明:本文为weixin_65736978原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。