//设置编码方式
request.setCharacterEncoding("utf-8");
//接收表单的值:id 用户名 密码 根据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");
//out.print(sex+" "+address+" "+bak);等于在页面上打印
//取爱好 多选
String[] ss=request.getParameterValues("ihobby");
String hobby="";//做拼接
//循环遍历
for(String s:ss){
hobby+=s+",";//拼接用逗号隔开
}
这里要注意上面画红线的name值要和这里要获取的保持一致否则会获取不到值,因为爱好有多个所有要用数组接收在遍历接收值在拼接
//假设我的数据表里面已经存在用户admin 密码为123456
//if("admin".equals(name)&&"1234".equals(pwd)){
//说明登录成功 跳转到success.jsp
//页面跳转两种方式
//1.重定向response
//能够将页面跳转地址栏发生了改变 但是不能将值传递到下一个界面
//能够跳转到任意资源在客户端发挥作用***
//response.sendRedirect("success.jsp");这是重定向的语法
//2.转发request
//能够将页面跳转 能够将值传递下一个界面 但是地址栏不发生改变而是停留在了之前的界面
//只能够转发到当前的项目内资源 在服务器端发挥作用 *******
// request.getRequestDispatcher("success.jsp").forward(request, response);这是request的语法
//}
//else{
//说明登录失败 提示用户并返回登录界面 js的跳转属于哪一种?属于重定向 因为地址栏发生了改变 login->dologin->login *****
// out.print("<script>alert('用户名或者密码有误');location.href='login.jsp';</script>");
//}
JDBC连接oracle数据库的步骤
//jdbc连接Oracle 把这个用户信息保存到数据库中
//作业:用触发器+序列实现标识列效果 sid
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";需要导包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,ssex,shobby,saddress,sback) 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();//获取影响行数
//关闭资源
//---增删改 2个
//---查 3个 rs
if(con!=null&&!con.isClosed()){//不为空且没有关
con.close();
}
if(ps!=null){
ps.close();
}
//判断
if(n>0){
response.sendRedirect("success.jsp");//如果插入成功则跳转到 success.jsp否则提示插入失败
}
else{
out.print("插入失败");
}