<%@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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
//设置编码方法防治中文乱码
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 把这个用户信息保存到数据库中
//二个字符串
String URL="jdbs:oracle:this:@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_0329(sdi,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("插入失败");
}
//out.print(sex+" "+address+" "+bak);
//假设我的数据表里面已经存在用户admin 密码为123456
// if("admin".equals(name)&&"123456".equals(pwd)){
//说明登录成功 跳转到success.jsp
//页面跳转二种方式
//1、重定向response 能够实现页面跳转 地址栏发生改变 但是不能将值传递到下一页面
//能够跳转到任意资源 在服务器端发挥作用
//response.sendRedirect("success.jsp");
//2、转发 request 也能够将值传递到下一个页面 但是地址栏没有发生改变而是停留在之前的页面
//只能够转发项目里的资源 在服务器端发挥作用
// request.getRequestDispatcher("success.jsp").forward(request, response);
//}
//else{
//说明登录失败提示用户并且返回登录页面 js的跳转属于哪一种?属于重定向
// out.print("<script> alert('用户名或者密码错误');location.href='login.jsp'</script>");
//}
//out.print(name+" "+pwd);
%>