javaWeb的页面跳转方式和连接orclace数据库


 //设置编码方式
    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("插入失败");
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值