Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발 일기

웹에서 회원가입을 받아 직접 DB에 넣어보자!! (feat. DTO, HTML, SERVLET 총 출동) 본문

Servlet & JSP

웹에서 회원가입을 받아 직접 DB에 넣어보자!! (feat. DTO, HTML, SERVLET 총 출동)

개발 일기 2021. 8. 10. 21:04

안녕하세요.

 

오늘은 이제 지금까지 배운 부분들의 집합으로

 

step1. Address DTO, DAO, Service 클래스를 만든다.

step2. html form을 통해 데이터를 웹에서 전달 받을 수 있게 만든다.

step3. servlet을 통해 데이터를 전달 받고 Service 객체를 만들어 SQL작업을 통해 직접 DB에 데이터를 삽입한다.

 

위 과정을 진행을 해보겠습니다.

 

 

1. Address DTO, DAO, Service 클래스를 만든다.

 --> 기존에 작성한 클래스를 가져옵니다.(https://soonggi.tistory.com/55)참고

 

 

2. html form을 통해 데이터를 웹에서 전달 받을 수 있게 만든다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>[주소록쓰기폼]</h1><hr>
<hr>
	<div>
		<a href='address_list.do'>주소록리스트</a>
	</div>
	<form method="post" action="address_insert_action.do">
		아이디--<input type="text" name="id"><br> 
		이름----<input type="text" name="name"><br> 
		전화번호<input type="text" name="phone"><br> 
		주소----<input type="text" name="address"><br> 
		<input type="submit" value="주소록쓰기">
		<input type="reset" value="주소록쓰기폼지우기">
	</form>
</body>
</html>

 

 

--화면 출력

 

 

3. servlet을 통해 데이터를 전달 받고 Service 객체를 만들어 SQL작업을 통해 직접 DB에 데이터를 삽입한다.

package com.itwill.address.servlet;

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

import com.itwill.address.Address;
import com.itwill.address.AddressService;

/**
 * Servlet implementation class AddressInsertActionServlet
 */
@WebServlet("/address_insert_action.do")
public class AddressInsertActionServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.sendRedirect("address_insert_form.do");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		try {
			
			request.setCharacterEncoding("UTF-8");
			
			String id=request.getParameter("id");
			String name=request.getParameter("name");
			String phone=request.getParameter("phone");
			String address=request.getParameter("address");
			
			Address insertAddress = new Address(0, id, name, phone, address);
			
			AddressService addressService = new AddressService();
			int insertRowCount = addressService.insert(insertAddress);
			response.sendRedirect("address_list.do");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
	}

}

-- servlet 클래스 작성 과정
1. 요청객체 encoding설정 -> (request.setCharacterEncoding("UTF-8");)
2 .파라메타 받기 --> DTO -> (String id=request.getParameter("id");)
3. 파라메타 데이타로 Address객체생성 -> (Address insertAddress = new Address(0, id, name, phone, address);

4. AddressService객체생성 -> (AddressService addressService = new AddressService();)
5. AddressService.insert()메쏘드실행
6. 성공 시 adress_list.do로 redirection

 

실행 결과

 

1. insert할 데이터 삽입

 

2. list 페이지 내 아이디 test9999 추가 확인

 

 

3. 실제 DB연결된 sqldeveloper내 데이터 추가 확인

 

 

 

웹 상에서 직접 데이터를 입력받아 실제 DB에 연결시키는 작업까지 진행을 해보았습니다.

감사합니다.

Comments