CODEDRAGON ㆍDevelopment/Software Engineering
수행 내용-서버 프로그램 작성하기
♣수행 순서
· 처리흐름 정의 및 오브젝트를 선언(Declaration)한다.
· DB Table 정의 및 오브젝트 속성(Property)을 정의한다.
· Method 프로토타입을 정의한다.
· I/O 오브젝트인 DTO/VO를 정의한다.
· Input Validation Check를 구현한다.
· Main Logic을 구현한다.
· Output Validation Check 구현테스트 케이스를 작성한다.
처리흐름 정의 및 오브젝트를 선언(Declaration)한다.
처리흐름 정의 절차
순서 |
처리 |
1 |
Jsp에서 요청 |
2 |
JavaScript에서 유효성 검사 및 Submit |
3 |
web.xml에서 servlet-mapping으로 해당 컨트롤러로 이동 |
4 |
해당 컨트롤러에서 받은 데이터를 회원 DTO 클래스에 Set |
5 |
Insert할 데이터를 DB작업을 수행하기 위해 DAO로 전달 |
6 |
DAO는 mybatis를 이용하여 DB에 데이터를 Insert하고 결과를 리턴 |
7 |
Controller는 받은 결과에 따라 작업을 성공/실패로 출력 |
오브젝트 선언
package join;
import java.io.IOException; import java.io.PrintWriter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
public class Joincontroller extends HttpServlet {
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //... } } |
DB Table 정의 및 오브젝트 속성(Property)을 정의한다.
순서 |
칼럼 |
자료형 |
길이 |
1 |
id |
VARCHAR2 |
20 |
2 |
pw |
VARCHAR2 |
20 |
3 |
name |
VARCHAR2 |
15 |
4 |
nick |
VARCHAR2 |
20 |
5 |
addr |
VARCHAR2 |
40 |
6 |
|
VARCHAR2 |
30 |
7 |
birth |
DATE |
- |
JoinDTO dto = new JoinDTO();
JoinDAO dao = new JoinDAO();
PrintWriter out = resp.getWriter();
int result; |
Method 프로토타입을 정의한다.
public JoinDAO() { //... }
public int insertjoin(JoinDTO dto) { //... } |
I/O 오브젝트인 DTO/VO를 정의한다.
public class JoinDTO {
String id; String pw; String name; String nick; String addr; String email; Date birth; public JoinDTO() { } //...
}
|
Input Validation Check를 구현한다.
if (!this.isType(year, "int")) { error = true; System.err.println("Error: must be a whole number."); } else { error = false; } |
Main Logic을 구현한다.
public class Joincontroller extends HttpServlet {
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); //한글처리 //req.setCharacterEncoding("EUC-KR"); JoinDTO dto = new JoinDTO(); JoinDAO dao = new JoinDAO(); PrintWriter out = resp.getWriter(); int result; dto.setId(req.getParameter("id")); dto.setPw(req.getParameter("pw")); dto.setName(req.getParameter("name")); dto.setNick(req.getParameter("nick")); dto.setAddr(req.getParameter("addr")); dto.setEmail(req.getParameter("email")); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd"); Date date = null; try { //입력받은 년,월,일을 date 포맷으로 변경 date = sdf.parse(req.getParameter("year")+"/"+req.getParameter("month")+"/"+req.getParameter("day")); } catch (ParseException e) { e.printStackTrace(); } dto.setBirth(date); //... } } |
Output Validation Check 구현테스트 케이스를 작성한다.
public class Joincontroller extends HttpServlet {
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //... result = dao.insertjoin(dto); if(result==0){ System.out.println("Failed"); }else{ System.out.println("Sucsses"); } } } |
'Development > Software Engineering' 카테고리의 다른 글
수행 내용-서버 프로그램 테스트하기 (0) | 2017.07.21 |
---|---|
디버깅 도구의 사용법, 디버깅(Debugging) 또는 디버그(Debug)의 개념, 디버깅 방법, 디버거(Debugger) (0) | 2017.07.21 |
프레임워크에 대한 이해 - 소프트웨어 프레임워크의 정의, 프레임워크의 특징, 프레임워크의 구성 요소 (0) | 2017.07.21 |
단위 테스트(Unit Test), 단위 테스트 도구 적용방법, 단위 테스트는 버그를 찾기 위한 것이 아니다., 하나의 테스트 케이스는 단위 기능 중 하나의 시나리오만 테스트하라. 불필요한 검증 구문을.. (0) | 2017.07.21 |
수행 내용 - 공통 모듈 작성하기 (0) | 2017.07.21 |