토마토바구니
600
2020-10-14 14:51:49 작성 2020-10-14 15:06:00 수정됨
2
104

서블릿 로그인 예제 질문 입니다~~


LogIn.jsp

<body>
    <form action="MemberServlet" method="post">
        <table>
            <tr>
                <td>아이디</td>
                <td><input type="text" name="userId"></td>
            </tr>
            <tr>
                <td>비밀번호</td>
                <td><input type="password" name="userPw"></td>
            </tr>
            <tr>
                <td><a href="SignIn.html">회원가입</a></td>
            </tr>
        </table>
        <input type="submit" value="로그인" />
        <input type="hidden" name="command" value="login" />
    </form>
</body>



MemberServlet.java


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            doHandle(request, response);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            doHandle(request, response);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }


        } else if (command != null && command.equals("login")) {

            String userId = request.getParameter("userId");
            String userPw = request.getParameter("userPw");
            String query = "SELECT * FROM school.student WHERE userId=? AND userPw=?";

            HttpSession session = request.getSession();

            try {
                con = dataSource.getConnection();
                pstmt = con.prepareStatement(query);
                pstmt.setString(1, userId);
                pstmt.setString(2, userPw);
                rs = pstmt.executeQuery();

                if (rs.next()) {
                    session.setAttribute("userId", userId);
                }
                response.sendRedirect("/Main.jsp");

            } catch (SQLException throwables) {
                throwables.printStackTrace();

            } finally {
                try {
                    if (rs != null) {
                        rs.close();
                    }
                    if (pstmt != null)
                        pstmt.close();

                    if (con != null)
                        con.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }




MySQL 사용 중 입니다.

로그인 페이지에서 로그인을 하면 500에러가 뜹니다ㅠㅠ


3일째인데 도대체 이유를 모르겠습니다..

0
  • 답변 2

  • 유리세계
    3k
    2020-10-14 14:58:50 작성 2020-10-14 14:59:54 수정됨

    이게 전부인가요?...

    MemberServlet 이라는 url을 받을 수 있는곳이 있나요?

    500이 에러의 전부인가요?

    https://to-dy.tistory.com/35

  • form을 post방식으로 넘겼는데 servlet에서는 doGet에서 처리하려고해서 그런거 아닐까요?

    500에러는 보통 스크립트 구문 에러이니 빠졌거나 오타가있는지 확인해보시길바랍니다.

  • 로그인을 하시면 답변 을 등록할 수 있습니다.