반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

비전공개미 개발노트

[Java/JSP] Servlet을 이용하여 회원가입페이지 만들기(DB연동) 본문

프로그래밍/Java

[Java/JSP] Servlet을 이용하여 회원가입페이지 만들기(DB연동)

비전공개미 2022. 10. 31. 19:48
반응형
SMALL

회원가입 폼을 작성한다

 

joinFrm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>회원가입</h3>
<form action="joinProc.do" method="post">
	<table border="1">
		<tr>
			<td>아이디</td>
			<td><input type="text" name="userId" ></td>
		</tr>
		<tr>
			<td>비밀번호</td>
			<td><input type="password" name="userPwd" ></td>
		</tr>
		<tr>
			<td>이름</td>
			<td><input type="text" name="userName" ></td>
		</tr>
		<tr>
			<td>전화번호</td>
			<td><input type="text" name="phoneNo" ></td>
		</tr>
		<tr>
			<td>주소</td>
			<td><input type="text" name="address" ></td>
		</tr>
		<tr>
			<td>이메일</td>
			<td><input type="text" name="email" ></td>
		</tr>
		<tr>
			<td colspan="2" style="text-align:center;"><input type="submit" value="회원가입" ></td>
		</tr>
	</table>
</form>
</body>
</html>

 

 

 

JoinProc.java

package org.global.controller;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class JoinProc
 */
@WebServlet("/member/joinProc.do")
public class JoinProc extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public JoinProc() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("doPost");
		actionDo(request, response);
	}

	private void actionDo(HttpServletRequest request, HttpServletResponse response) throws IOException {
		System.out.println("actionDo");
		request.setCharacterEncoding("utf-8");
		String url = "jdbc:mysql://localhost:3306/testdb?useSSL=false";
		String dbId = "root", dbPwd = "1234";
		Connection conn = null;
		String sql = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			
			Class.forName("com.mysql.cj.jdbc.Driver");
			conn = DriverManager.getConnection(url, dbId, dbPwd);
			
			sql = "INSERT INTO member VALUES (?, ?, ?, ?, ?, ?, now())";
			//System.out.println(sql);
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, request.getParameter("userId"));
			pstmt.setString(2, request.getParameter("userPwd"));
			pstmt.setString(3, request.getParameter("userName"));
			pstmt.setString(4, request.getParameter("phoneNo"));
			pstmt.setString(5, request.getParameter("address"));
			pstmt.setString(6, request.getParameter("email"));
			boolean result = pstmt.execute();
			response.sendRedirect("joinResult.jsp");
//			if(result == false) {
//				response.sendRedirect("joinResult.jsp");				
//			}else {
//				response.sendRedirect("joinFrm.jsp");
//			}
		}catch(ClassNotFoundException e){
			e.printStackTrace();
			response.sendRedirect("joinFrm.jsp");
		}catch(SQLException e){
			e.printStackTrace();
			System.out.println("dd");
			response.sendRedirect("joinFrm.jsp");
		}finally{
			//conn.close();
		}
		
		
		
	}

}

 

 

doPost로 가면 actionDo로 보내서 작업을 처리한다

 

db연동 후 getParameter로 값을 받아서 insert문으로 값을 넣어주고,

정상적으로 처리되면 joinResult.jsp로 이동한다.

미처리시 joinFrm.jsp로 이동한다.

 

 

 

joinResult.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
회원가입이 정상적으로 되었습니다<br>
<a href="loginFrm.jsp">로그인</a>
</body>
</html>

 

 

 

 

joinFrm.jsp

 

 

 

joinResult.jsp

 

반응형
LIST
Comments