개발 일기
웹에서 회원가입을 받아 직접 DB에 넣어보자!! (feat. DTO, HTML, SERVLET 총 출동) 본문
안녕하세요.
오늘은 이제 지금까지 배운 부분들의 집합으로
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에 연결시키는 작업까지 진행을 해보았습니다.
감사합니다.
'Servlet & JSP' 카테고리의 다른 글
쿠키(cookie)란?? (feat. JSP에서 쿠키 설정(cookie )하는 법) (0) | 2021.08.12 |
---|---|
JSP(JavaServer Pages)란?? (feat. JSP파일 실행 시 Servlet 소스 파일 생성 위치) (0) | 2021.08.11 |
Servlet 활용해서 회원가입 받기! (feat. HTML의 form으로 데이터를 POST 방식으로 넘겨주기) (0) | 2021.08.09 |
Servlet(서블릿) POST방식으로 데이터 전달 받아 로그인 연습! (0) | 2021.08.06 |
JAVA Servlet(서블릿)이란?? (feat. form을 활용하여 get방식으로 login해보기) (0) | 2021.08.04 |