수행 내용-서버 프로그램 작성하기

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

DAOmybatis를 이용하여 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

email

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");

}

}

}