JSP编写了insert语句

时间:2015-01-04 15:57:08

标签: java mysql jsp jdbc

大家好,我在JSP中遇到了这个createUser方法的麻烦。

当我在我的学校服务器上部署它时,它在我的glassfish服务器上本地工作。除了这种方法,一切都运行良好。我不知道为什么,香港专业教育学院尝试在本地调试它,布尔值createUser返回true。但似乎在部署时它返回false,并被重定向到test.jsp站点。我的问题是其他人有同样的问题吗?有没有办法在浏览器中的文件中显示服务器的异常。当你不知道在哪里看时很难解决问题。我真的希望有人可以提供帮助,感谢所有人的帮助。

提前谢谢

public static boolean createUser(String fname, String lname, String email, String user, String pwd) throws SQLException {
        PreparedStatement pst = null;
        Connection connection = ConnectionProvider.getConnection();

        try {
            String Query = "INSERT INTO members (first_name, last_name, email, uname, pass) values (?, ?, ?, ?, ?)";
            pst = connection.prepareStatement(Query);
            pst.setString(1, fname);
            pst.setString(2, lname);
            pst.setString(3, email);
            pst.setString(4, user);
            pst.setString(5, pwd);

            pst.executeUpdate();
            //connection.commit();

        } catch (SQLException ex) {
            System.out.println("createUser failed " + ex.getMessage());
            return false;

        } finally {

            try {
                if (pst != null) {
                    pst.close();
                }
                if (connection != null) {
                    connection.close();
                }

            } catch (SQLException ex) {
                System.out.println("createUser - finally failed " + ex.getMessage());
            }
        }
        return true;
    }


//registration.jsp
<%
    String fname = request.getParameter("fname");
    String lname = request.getParameter("lname");
    String email = request.getParameter("email");
    String user = request.getParameter("uname");
    String pwd = request.getParameter("pass");
    session.setAttribute("userid", user);
    //MemberProvider.createUser(fname, lname, email, user, pwd);
    //response.sendRedirect("index.jsp");
    boolean createUser = MemberProvider.createUser(fname, lname, email, user, pwd);
    //if (MemberProvider.createUser(fname, lname, email, user, pwd))
    if (createUser){
        response.sendRedirect("index.jsp");
    } else {
        response.sendRedirect("test.jsp");
    }
%>

我终于在服务器上找到了堆栈跟踪,一段时间安静了。

2015-01-04 14:49:54.332:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 14:49:54.332:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@3b970fb6{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 14:49:54.400:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@48197a77{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 14:49:56.352:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 14:49:56.352:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@48197a77{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 14:49:56.430:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@42270653{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 14:50:05.445:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 14:50:05.445:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@42270653{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 14:50:05.548:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@104ddfcd{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
createUser failed Field 'admin' doesn't have a default value
Fejl i createuser
createUser failed Field 'admin' doesn't have a default value
Fejl i createuser
2015-01-04 15:08:20.911:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 15:08:20.911:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@104ddfcd{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 15:08:20.967:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@35852e05{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 15:08:31.011:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 15:08:31.011:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@35852e05{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 15:08:31.101:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@3c2c57ec{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
createUser failed Field 'admin' doesn't have a default value
2015-01-04 15:50:39.448:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 15:50:39.449:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@3c2c57ec{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 15:50:39.506:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@490ce325{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 15:50:51.571:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 15:50:51.572:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@490ce325{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 15:50:51.656:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@79ee9e62{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
createUser failed Field 'admin' doesn't have a default value
2015-01-04 16:02:37.184:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 16:02:37.184:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@79ee9e62{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 16:02:37.341:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@43bff0e1{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 16:02:38.353:INFO:oejsl.ELContextCleaner:Scanner-0: javax.el.BeanELResolver purged
2015-01-04 16:02:38.353:INFO:oejsh.ContextHandler:Scanner-0: Stopped o.e.j.w.WebAppContext@43bff0e1{/kristian3e14,file:/home/kristian3e14/kristian3e14/,UNAVAILABLE}{/home/kristian3e14/kristian3e14}
2015-01-04 16:02:38.446:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@223afbaa{/kristian3e14,file:/home/kristian3e14/kristian3e14/,AVAILABLE}{/home/kristian3e14/kristian3e14}
createUser failed Field 'admin' doesn't have a default value
Jan 04, 2015 4:02:58 PM org.apache.jasper.compiler.Compiler generateClass
SEVERE: Error compiling file: /tmp/jetty-0.0.0.0-8090-kristian3e14-_kristian3e14-any-/jsp/org/apache/jsp/test_jsp.java
2015-01-04 16:02:58.521:WARN:oejs.ServletHandler:qtp1561907217-22: 
org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP||PWC6197: An error occurred at line: 9 in the jsp file: /test.jsp|PWC6199: Generated servlet error:|inconvertible types|  required: boolean|  found:    java.lang.Object||
    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:129)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:299)
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:392)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:453)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:698)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:505)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:564)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1096)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:432)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1030)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:201)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:445)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:268)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)
    at java.lang.Thread.run(Thread.java:722)

1 个答案:

答案 0 :(得分:0)

问题在于 这是因为我有隐式null作为我的管理员,当我寻找我的管理员1如果你的管理员。所以它需要af值。

所以我只是把它改成了下面而且它有效。很多所有的帮助:)

   public static boolean createUser(String fname, String lname, String email, String user, String pwd) {
        PreparedStatement pst = null;
        Connection connection = ConnectionProvider.getConnection();

        try {
            String Query = "INSERT INTO members (first_name, last_name, email, uname, pass, admin) values (?, ?, ?, ?, ?, ?)";
            pst = connection.prepareStatement(Query);
            pst.setString(1, fname);
            pst.setString(2, lname);
            pst.setString(3, email);
            pst.setString(4, user);
            pst.setString(5, pwd);
            pst.setString(6, "0");
            pst.executeUpdate();
            //connection.commit();

        } catch (SQLException ex) {
            ex.printStackTrace();
            return false;

        } finally {

            try {
                if (pst != null) {
                    pst.close();
                }
                if (connection != null) {
                    connection.close();
                }

            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
        return true;
    }

这有效:)