首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

送分!求有关问题解答 JSP不能写入数据库且不报错 得到的id是0 真心很急 多谢各位!1

2013-07-04 
送分!急求问题解答JSP不能写入数据库且不报错得到的id是0真心很急谢谢各位!!1我的注册界面一部分重点就这

送分!急求问题解答 JSP不能写入数据库且不报错 得到的id是0 真心很急 谢谢各位!!1
我的注册界面一部分  重点就这些

        <script>
       $(function(){
       $("#form999").submit(function(){
          if($("#name").val().length<2){
              alert("请输入您的姓名!")
              $("#name").focus();
              return;
          }
         if($("#mail").val()==""){
              alert("请输入您的信箱!")
              $("#mail").focus();
              return;
          }
     
         
          if($("#pwd").val()!=$("#pwd1").val()){
              alert("两次输入的密码不一致!")
              $("#pwd").focus();
              return;
          }
          if($("#mobil").val()==""){
              alert("\u8bf7输入您的手机!")
              $("#mobil").focus();
              return;
          }
          if($("#add").val()==""){
              alert("\u8bf7输入您的收货地址!")
              $("#add").focus();
              return;
          }
          form999.action="Register";
          $("#form999").submit(); 
          //
        })


       })
            </script>
            </head>
            <body>
            <%@include file = "top.jsp" %>
            <div class="main">
        
          
            <table class="ct">
                <tr>
                    <td class="leftcol">
                         <div class="leftcol1 leftcol2" style="height:308px;">
                            <h3>注册须知</h3>
                            
                                 <form id="form999" name="form999" action="javascript:void();" method="post">
                                 <table class="formTb">
                  

我的servlet


  */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");   
        PrintWriter out = response.getWriter();
        RegisterBean rb = new RegisterBean();


        request.setAttribute("haha", rb);
        System.out.print("ok");
        int num,n=0;
        String s1 = request.getParameter("name").trim();
        String s2 = request.getParameter("pwd").trim();
        String s3 = request.getParameter("mail");
        String s4 = request.getParameter("mobile").trim();
        String s5 = request.getParameter("add").trim();
         try 
        {        
                    Statement sta = dbcon.getcon().createStatement();
                    ResultSet rs = sta.executeQuery("select * from users");
                    rs.last();
                    num = rs.getInt(3)+1;
                    PreparedStatement pre = dbcon.getcon().prepareStatement("insert into users values(?,?,?,?,?,?)");
                    pre.setInt(3, num);
                    pre.setString(1, s1);
                    pre.setString(2, s2);
                    pre.setString(4, s3);
                    pre.setString(5, s4);
                    pre.setString(6, s5);
                    pre.executeUpdate();
                    rb.setid(num);


                    rb.setname(s1);
                    rb.setPassword(s2);
           
                
                
            }
                    catch(Exception e)
            {            
                System.out.print("errr");
            }
            RequestDispatcher disp = request.getRequestDispatcher("show.jsp");
            disp.forward(request, response);
    }

Bean:

    public class RegisterBean {
    String name,password;
    int id;
    public void setname(String s)
    {
        name = s;
    }
    public String getname()
    {
        return name;
    }
    public void setPassword(String s)
    {
        password = s;
    }
    public String getPassword()
    {
        return password;
    }
    
  
    public void setid(int x)
    {
        id = x;
    }
    public int getid()
    {
        return id;
    }
}
         JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<%@page import="zkgo.RegisterBean" %>
<jsp:useBean id="haha" type="zkgo.RegisterBean" scope="request"/>
<!DOCTYPE html>
<html>
    <body>
 
          <%@include file = "top.jsp" %>
     
    <center>
        <p>注册成功!您的ID是:
        <jsp:getProperty name="haha" property="id"/><br>
        
        
    </center>
    </body>
</html>





这是我的考试作业  真心急求  卡在这里了!!!! 数据库 JSP HTML
[解决办法]
servlet中,Connection 和 ResultSet要正确关闭的吧。
[解决办法]
建立一个数据库序列,使用数据库序列做为主键

[解决办法]
1,不能写入数据库应该是没有commit,在pre.executeUpdate();后加上dbcon.getcon().commit();
2,id为0,应该是setAttribute的位置有误,request.setAttribute("haha", rb);放在rb.setPassword(s2);的后面。
[解决办法]
没有写入数据库是缺少插入执行语句pre.pre.execute();
id为0大概是因为没写入数据吧
[解决办法]
创建序列的Sql
CREATE SEQUENCE s_users
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;
insert时候的处理
PreparedStatement pre = dbcon.getcon().prepareStatement("insert into users values( (SELECT nextval('s_users
')),?,?,?,?,?)");
不要自己去设置ID,
还有就是你的“pre ”需要在update后面commit,
使用这种模块来处理你的insert
try{
insert语句
update
事务提交
}cacth(Exception e){
事务回滚处理
}finlly{
连接关闭处理


}
[解决办法]
<jsp:useBean> 指的是创建一个Bean实例并指定它的名字和作用范围.
[解决办法]

引用:
创建序列的Sql
CREATE SEQUENCE s_users
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;
insert时候的处理
PreparedStatement pre = dbcon.getcon().prepareStatement("insert into users values( (SELECT nextval('s_users
')),?,?,?,?,?)");
不要自己去设置ID,
还有就是你的“pre ”需要在update后面commit,
使用这种模块来处理你的insert
try{
insert语句
update
事务提交
}cacth(Exception e){
事务回滚处理
}finlly{
连接关闭处理
}

我觉得也是这个原因
[解决办法]
<jsp:useBean> 指的是创建一个Bean实例并指定它的名字和作用范围.


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="zkgo.RegisterBean" %>
<jsp:useBean id="haha" type="zkgo.RegisterBean" scope="request"/>
<!DOCTYPE html>
<html>
    <body>
 
          <%@include file = "top.jsp" %>
     
    <center>
        <p>注册成功!您的ID是:
        <jsp:getProperty name="haha" property="id"/><br>
        
        
    </center>
    </body>
</html>
[解决办法]
lz根本就没开事务,你commit也没用呀。首先确认你的servlet在表单提交的时候是否被调用了,如果调用了,就看db这块,如果没调用到先正页面吧
[解决办法]
122768807

热点排行