javaWeb

这篇博客展示了如何使用JavaWeb连接Oracle数据库,并将用户信息插入到数据库表中。通过设置请求编码防止中文乱码,使用PreparedStatement进行SQL预编译,提高安全性。最后根据执行结果进行页面跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@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);
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值