Helmi

JSP를 이용해서 간단한 회원가입 만들기(db:mysql) 본문

JSP

JSP를 이용해서 간단한 회원가입 만들기(db:mysql)

Helmi 2024. 11. 29. 20:06

오랜만에 시간이 나서 코딩을 다시 해보는중이다!ㅎㅎ

예정과 다르게 다른 분야로 취직해서 코딩 할 일이 없지만.. 취미로 꼭 해보고 싶었다~

 

> 기본이 되는 db (mysql) 새계정 만든 후 진행하였다.

 

실수로 패키지명 시작을 소문자로해버린...ㅠㅠㅠ 바부..

 

기본 언어 : java11, jsp

DB : mysql

 

1. userDTO.java

package user;

public class userDTO {

	String userID;
	String userPassword;
	
	public String getUserID() {
		return userID;
	}
	public void setUserID(String userID) {
		this.userID = userID;
	}
	public String getUserPassword() {
		return userPassword;
	}
	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}
	
}

아주 간단하게 아이디랑 패스워드만

 

2. userDAO.java

package user;

import java.sql.Connection;
import java.sql.PreparedStatement;

import util.DatabaseUtil;

public class userDAO {

	public int join(String userID, String userPassword) {
		String SQL = "INSERT INTO USER VALUES (?,?)";
		
		try {
			
			Connection conn=DatabaseUtil.getConnection();
			PreparedStatement pstmt = conn.prepareStatement(SQL);
			pstmt.setString(1,userID);
			pstmt.setString(2,userPassword);
			return pstmt.executeUpdate();
			
		} catch(Exception e) {
			e.printStackTrace();
		}
		return -1;
	}
}

mysql에서 userID, userPassword 받는거, 예외처리 해줌

 

3. DatabaseUtil.java

package util;

import java.sql.Connection;
import java.sql.DriverManager;

public class DatabaseUtil {

	public static Connection getConnection() {
		
		try {
		
			String dbURL = "jdbc:mysql://localhost:3306/JavaStudy_Board";
			String dbID ="root";
			String dbPassword="1234";
			Class.forName("com.mysql.jdbc.Driver");
			return DriverManager.getConnection(dbURL,dbID,dbPassword);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	
}

mysql 연동해줬다

 

4. index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Main</title>
</head>
<body>
      Welcome to the Main!
      <form action="./userJoinAction.jsp" method="post">
      	<input type="text" name="userID">
      	<input type="password" name="userPassword">
      	<input type="submit" value="회원가입">
      </form>
</body>
</html>

 

5. userJoinAction.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import="user.userDTO" %>
    <%@ page import="user.userDAO" %>
	<%@ page import="java.io.PrintWriter"%>
	<%
		request.setCharacterEncoding("UTF-8");
	
		String userID = null;
		String userPassword = null;
		
		if(request.getParameter("userID") != null) {
			userID=(String) request.getParameter("userID");
			}
			if(request.getParameter("userPassword") != null) {
			userPassword = (String) request.getParameter("userPassword");
			}
			//null겂일 때, 입력 안된 사항 있음을 알리는 알람과 함께 뒷 페이지로 가도록 설정
			if(userID == null || userPassword == null) {
				PrintWriter script = response.getWriter();
				script.println("<script>");
				script.println("alert('입력이 안된 사항이 있습니다.');");
				script.println("history.back();");
				script.println("</script>");
				script.close();
				return;
			}
			
			//null값 아닐 시 - 가입 성공시
			userDAO userDAO = new userDAO();
			int result = userDAO.join(userID,userPassword);
			if(result==1){

				PrintWriter script = response.getWriter();
				script.println("<script>");
				script.println("alert('회원가입에 성공했습니다.');");
				script.println("location.href='index.jsp';");
				script.println("</script>");
				script.close();
				return;
			}
			%>

여기서 회원가입 처리해줌.. 될시, 안될시 등.. if 구문 활용!

 

6. 최종결과(두둥!)

정말..간단하게..ㅋㅋㅋㅋㅋㅋ 아이디, 비번 치는 정도만 만들었다

제대로 입력하면 이렇게 성공창 뜬다!

정상적으로 mysql에 들어왔다

 

코드는 인프런 강의에서 참고했는데, 

이상하게 회원가입 실패 알람이 안떠서 그거 고오민 해봐야겠다ㅠ

'JSP' 카테고리의 다른 글

서블릿 동작 원리  (0) 2023.06.13
서블릿 클래스 정의  (0) 2023.06.12
서블릿 기초  (1) 2023.06.11
JSP란?  (0) 2023.06.10
서블릿이란?  (0) 2023.06.09