使用mySQL的Java Hibernate应用程序-登录页面不工作

使用mySQL的Java Hibernate应用程序-登录页面不工作,java,mysql,hibernate,Java,Mysql,Hibernate,我正在使用netbeans中的apache.tomcat开发一个hibernate项目,在这个项目中,我创建了一个具有用户登录名(员工ID和密码)的应用程序,允许棒球场员工(来自mysql数据库)请求通行证以使用棒球场。用户应该能够1)从下拉菜单中选择预订事件(日期和时间),2)输入其组大小、组名称和员工部门(下拉),3)管理特定于其员工ID的文件中的预订 我可以访问登录屏幕,但输入员工凭据时不会发生任何事情。在输入正确的登录名时,我没有被发送到memberscreen.jsp,并且我没有收到为

我正在使用netbeans中的apache.tomcat开发一个hibernate项目,在这个项目中,我创建了一个具有用户登录名(员工ID和密码)的应用程序,允许棒球场员工(来自mysql数据库)请求通行证以使用棒球场。用户应该能够1)从下拉菜单中选择预订事件(日期和时间),2)输入其组大小、组名称和员工部门(下拉),3)管理特定于其员工ID的文件中的预订

我可以访问登录屏幕,但输入员工凭据时不会发生任何事情。在输入正确的登录名时,我没有被发送到memberscreen.jsp,并且我没有收到为无效登录设置的错误。我已经这样做了好几个小时了,似乎找不到哪里出了问题

注意:项目要求我使用hibernate

我已经尝试过用谷歌搜索的方法来解决这个问题,但我发现了不足,我认为我的问题可能太具体了。我没有收到任何错误,构建是成功的,但没有功能

  • logonservlet.java

    package servlets;
    import business.Employee;
    import business.EmployeeDB;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class LogonServlet extends HttpServlet {
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    String msg = "", empid = "";
    long pattempt;
    String URL = "/Logon.jsp";
    Employee e;
    
    try {
        empid = request.getParameter("empid").trim();
        e = EmployeeDB.getEmployee(empid);
        if (e == null) {
            msg = "No member record found<br>";
        } else {
            pattempt = Long.parseLong(request.getParameter("password"));
            e.setPassattempt((int) pattempt);
            if (!e.isAuthenticated()) {
                msg = "Member found but not authenticated<br>";
            } else {
                msg = "member authenticated<br>";
                URL = "/MemberScreen.jsp";
            }
            request.getSession().setAttribute("e", e);
        }
    } catch (Exception x) {
        msg = "Servlet exception: " + x.getMessage();
    }
    
    request.setAttribute("msg", msg);
    RequestDispatcher disp =
            getServletContext().getRequestDispatcher(URL);
    disp.forward(request,response);
    
    }
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. 
    Click on the + sign on the left to edit the code.">
        /**
         * Handles the HTTP <code>GET</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse         
     response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
        /**
         * Handles the HTTP <code>POST</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doPost(HttpServletRequest request,                 
     HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
        /**
         * Returns a short description of the servlet.
         *
         * @return a String containing servlet description
        */
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    
    }
    
  • Logon.jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html >
    
    <html>
         <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Field Pass</title>
        </head>
        <body>
            <h1>Welcome</h1> 
            <p>Please Enter your id and password:</p>
            <form action="Logon" method="post">
                <table>
                    <tr>
                        <td>User ID:</td>
                        <td><input type="text" name="userid" id="userid"
                             value="${empty user.userID ? cookie.memid.value : user.userID }" />
                        </td>           
                    </tr>
                    <tr>
                        <td>Password:</td>
                        <td><input type="password" name="password" id="password">
                        </td>
                    </tr>
                </table>
                <br>        
                <input type="submit" value="Log in">
            </form>
            <br>
        </body>
    </html>
    
  • employeeDB.java

    package business;
    
    import javax.persistence.NoResultException;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    
    /**
     *
     * @author noah
     */
    public class EmployeeDB {
        public static Employee getEmployee(int emp_id) {
            SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
            Session session = null;
            Employee e = null;
            try {
                String qS ="from Employee e where e.emp_id = :emp_id";
                session = sessionFactory.openSession();
                Query q = session.createQuery(qS);
                q.setParameter("emp_id", emp_id);
                e = (Employee)q.uniqueResult();
    
           } catch (NoResultException ex) {
                return null;
            } finally {
                session.close();
            }
            return e;
        }
    
        public static Employee getEmployee(String empid) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of                 
             generated methods, choose Tools | Templates.
        }
    }
    
  • memberScreen.jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <!DOCTYPE HTML>
     <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Member Welcome</title>
           <style>
                table.member-details{
                    border-collapse: collapse;
                }
                table.member-details td, table.member-details th{
                    padding: 6px;
                    border: 1px solid #999;
                }
            </style>
        </head>
        <c:if test="${!e.authenticated}">
            <script type="text/javascript">
                window.location = "/ClubDB";
            </script>
        </c:if>
        <c:if test="${e.authenticated}">
        <body>
            <h1>Club member Data</h1>
            <form id="memupdate" action="MemberUpdate" method="post">
                <table class="member-details">
                <tr>uu
                    <td>Member ID:</td>
                    <td><input type="text" id="memid" name="memid"
                               value="${e.empid}" readonly="true"></td>
                </tr>
                <tr>
                    <td>Last Name:</td>
                    <td><input type="text" id="lastname" name="lastname" 
                               value="${e.lastname}" ></td>
                </tr>
                <tr>
                    <td>First Name:</td>
                    <td><input type="text" id="firstname" name="firstname" 
                               value="${e.firstname}" ></td>
                </tr>
                <tr>
                    <td>Middle Nm:</td>
                    <td><input type="text" id="middlename" name="middlename" 
                               value="${e.middlename}" ></td>
                </tr>
                <tr>
                    <td>Status:</td>
                    <td><input type="text" id="status" name="status" 
                               value="${m.status}" readonly="true" ></td>
                <tr>
                <tr>
                    <td>Member Date:</td>
                    <td><input type="text" id="memdt" name="memdt" 
                               value="${m.memdtS}" readonly="true" ></td>
                </tr>
                <tr>
                    <td>Password:</td>
                    <td><input type="password" id="psswd" name="psswd" 
                               value="${m.password}" size="22"></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" value="Update Member data"></td>
                </tr>
                </table>
            </form>
            <br>
            ${msg}
             <hr>
             <br>View Transaction History From:<br>
                <form action="ShowPurchases" method="post" >
                    <table>
                        <tr>
                            <td>Month:</td><td><input type="text" name="month" 
                                                      id="month" value=""></td>
                            <td>Day:</td><td><input type="text" name="day" 
                                                    id="day" value=""></td>
                            <td>Year:</td><td><input type="text" name="year" 
                                                     id="year" value=""></td>
                        </tr>
                    </table><br>
                   <input  type="submit" value="View Transactions">
                </form> <br>
             <br><br>
             <a href="/ClubDB">Back to the Login Screen</a>
           </body>
        </c:if>
    </html>
    
    
    欢迎各位委员
    表3.1成员详细信息{
    边界塌陷:塌陷;
    }
    table.member-details td,table.member-details th{
    填充:6px;
    边框:1px实心#999;
    }
    window.location=“/ClubDB”;
    俱乐部会员资料
    uu
    会员编号:
    姓氏:
    名字:
    中纳米:
    地位:
    成员日期:
    密码:
    
    ${msg}

    从以下位置查看交易历史记录:
    月份: 日期: 年份:



  • 休眠xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"                 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-        
    iiapp_3_1.xsd">
    <servlet>
        <servlet-name>LogonServlet</servlet-name>
        <servlet-class>servlets.LogonServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LogonServlet</servlet-name>
        <url-pattern>/Logon</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>Logon.jsp</welcome-file>
    </welcome-file-list>
    
    
    LogonServlet
    servlets.LogonServlet
    LogonServlet
    /登录
    30
    Logon.jsp
    


  • 我只阅读了servlet的代码。它不会覆盖任何HttpServlet方法。所以它只是声明了一个新方法,没有人会调用它。阅读javadoc:。用户可以使用调试器。或者至少在代码中添加println()语句,以了解执行的是什么。您的表单上显示action=“Logon”method=“post”,因此您的dopost方法应该可以在servlet中使用,以提供……@Shoaeb感谢您的帮助。我刚开始冬眠,所以,我很抱歉,我很难理解这一点。你建议我做什么改变?@INoahGuy这与Hibernate无关。您的servlet必须覆盖doPost。再读一遍我的评论。阅读HttpServlet的javadoc。@JBNizet我在问题中更新了logonservlet.java,它被隐藏在一个编辑器文件夹中,所以我忘了复制它。这就是你的意思吗?我读了javadoc,认为我已经这么做了,但我可能误解了你。谢谢你的帮助。
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"                 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-        
    iiapp_3_1.xsd">
    <servlet>
        <servlet-name>LogonServlet</servlet-name>
        <servlet-class>servlets.LogonServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LogonServlet</servlet-name>
        <url-pattern>/Logon</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>Logon.jsp</welcome-file>
    </welcome-file-list>