안녕하세요 :)
오늘은 지금까지 구축한 web was db를 이용하여 회원가입 웹페이지를 만들겠습니다.
간단하는 회원가입 WEB에서 입력한 값을 WAS가 처리해 DB에 저장하는 방식 입니다.
해당 실습을 진행하기 전 이전 포스팅한 게시물을 확인해주세요.
https://bigco-growth-diary.tistory.com/13
순 서
1.DB접근 및 테이블 생성
2.mysql 연동 페이지 (회원가입) 만들기
3. 회원가입 및 DB쿼리확인
웹페이지에 사용된 스크립트입니다.
https://www.happyjung.com/lecture/1221?sst=wr_datetime&sod=desc&sop=and&page=65
1.DB접근 및 테이블 생성
MySQL RDS를 생성했을 때 만들었던 계정 + 비밀번호랑 RDS의 엔드포인트로 MySQL에 접속하는 방법입니다.
// mysql -y [계정] -h [RDS 엔드포인트] -p
mysql -u ty3751 -h db-3tier.clzl61fz5jqp.ap-northeast-2.rds.amazonaws.com -p
mysql에 입장한 후 사용한 database를 만들어 줍니다.
DB생성 : create database [DB이름];
DB삭제 : drop database [DB이름];
DB목록 : show databases;
use [DB이름] 명령어를 사용하여 사용할 DB를 선택해줍니다.
create table [table이름](id varchar(20), pwd varchar(20), name varchar(20), email varchar(20));
create table명령어를 사용하여 table을 만들고 table의 형식도 지정해줍니다.
insert 구문을 사용하여 유저테이블에 계정을 삽입해줍니다.
select구문을 사용하여 삽입된 계정을 확인합니다.
2.mysql 연동 페이지 (회원가입) 만들기
<%@ page contentType="text/html;charset=utf-8" %>
<HTML>
<HEAD><TITLE>회원 입력</TITLE></HEAD>
<BODY bgcolor=black>
<FORM action="join.jsp" method="post">
<font color=gray>
아이디 : <INPUT type="text" name="id" maxlength="8"><BR>
암호 : <INPUT type="password" name="pwd" maxlength="8"><BR>
이름 : <INPUT type="text" name="name" maxlength="12"><BR>
e-mail : <INPUT type="text" name="email" maxlength="25"><P>
<INPUT type="submit" value=" 저 장 "></font>
</FORM>
</BODY>
</HTML>
input으로부터 넘어온 데이타들을 변수화 후에 데이타베이스로 쿼리문을 보낸다.
그 이후 output.jsp에서 데이터베이스에 추가된 회원들의 정보를 출력한다.
<%@ page contentType="text/html;charset=utf-8" import="java.sql.*" %>
<%
request.setCharacterEncoding("utf-8"); //Set encoding
String id = request.getParameter("id");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String email = request.getParameter("email");
//POST로 Input.html로부터 입력받은 내용을 변수화
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://db-3tier.clzl61fz5jqp.ap-northeast-2.rds.amazonaws.com:3306/myDB?useUnicode=true&characterEncoding=utf-8";
Connection con = DriverManager.getConnection(url,"ty3751","rlaxodyd");
Statement stat = con.createStatement();
String query = "INSERT INTO user(id, name, pwd, email) VALUES('"+id+"','"+name+"','"+pwd+"','"+email+"')";
//INSERT into member(id,name,pwd,email) VALUES ('id','name','pwd','email') 쿼리문
stat.executeUpdate(query);
stat.close();
con.close();
}
catch(Exception e){
out.println( e );
}
response.sendRedirect("output.jsp");
%>
3. 회원가입 및 DB쿼리확인
web에서 회원가입된 정보들이 DB쿼리에 잘 저장되었습니다.
만약에 회원가입을 했는데도 DB에 정보들이 저장이 안되면 tomcat을 껏다가 다시 켜보면 됩니다.
이렇게 3Tier Architecture 실습이 끝났습니다.
처음에는 web과 was의 개념도 잘 몰랐습니다. 그래서 서치도 해보고 많은 글들을 읽어봤지만 이해가 안가서 그런지 금방 까먹었습니다. 프로젝트때도 2티어로 구성을해서 3티어에 대한 이해도가 많이 부족했었습니다.
그래서 이번에 3티어 실습을 진행하게 되었고 많은 오류들이 있었지만 해결하는 과정에서 더 많은걸 얻은 거 같습니다.
RDS, ELB, 처음해써봤던 Tomcat, 각 서브넷간 연동등 각각의 쓰임과 역할에 좀 더 이해하게 되었습니다.
수고하셨습니다. :D
'AWS > 3Tier architecture' 카테고리의 다른 글
[3 Tier Architecture #6] RDS생성 & 연동 (0) | 2023.03.31 |
---|---|
[3 Tier Architecture #5] WEB & WAS 연동 (0) | 2023.03.30 |
[3 Tier Architecture #4] Tomcat & OpenJDK 설치 (0) | 2023.03.29 |
[3 Tier Architecture #3] WAS생성 및 Internal ALB 설정 (0) | 2023.03.27 |
[3 Tier Architecture #2] EC2생성 및 External ALB 설정 (0) | 2023.03.25 |