본문 바로가기

WebStudy/MVC2기반 Shopping mall

Step 7 - 지금까지 한것 테스트해보기

지금까지 프로젝트를 생성하고 라이브러리 추가하고 xml만들고 class 만들고 이것저것 만들었다.

 

이제 이게 제대로 동작하는지 한번 테스트를 하고 실질적인 기능들을 구현하려 한다.

 

일단 컨트롤러에 test 명령어를 수행할 구문을 추가하자.

 

(사실 컨트롤러를 만들 때 이미 만들어놨다. 있는지 확인하자)

 

if(command.equals("/memberSample.me")){
   service = new SampleService();
   forward = service.execute(request, response);
   forward.setPath("./member/test.jsp");
  }

 

주소창에 .... /프로젝트이름/memberSample.me 를 입력하면 작동할 if 구문을 추가하였다.

 

 

그리고 SP_MEMBER 테이블을 만든 걸 기억할 것이다.

 

테이블에 데이터를 추가하자.

 

INSERT INTO "HR"."SP_MEMBER" (SP_ID, SP_PW, SP_NAME, SP_BIRTH, SP_EMAIL, SP_EMAIL_GET, SP_MOBILE, SP_PHONE, SP_ZIPCODE_OLD, SP_ZIPCODE, SP_ADDR1, SP_ADDR2, SP_ADMIN, SP_JOIN_DATE) VALUES ('admin', '1234', 'operator', '20000101', 'admin@daita.net', 'yes', '010-1234-5789', '02-123-4567', '123-456', '12345', '서울', '집', '1', SYSDATE);

 

정상적으로 INSERT 쿼리가 먹혔다면 SELECT* FROM SP_MEMBER; 를 해보자.

 

(SQLDveloper 에서 찍은 스샷) 

 

 

DAOInter 에 보면 sampleTest() 라는 추상메소드가 있는 걸 알수있다.

 

 

 

 

이 말 인즉슨... It usully means to...

 

MemberDAO 에서 sampleTest()를 구현해야 한다는 말이고 이 매소드를 통해서 정상적인 값을 db에서 가져올 수 있는지 테스트 할 수 있는 것이다.

(뭐 극적인건 아니지만...)

 

MemberDAO class에서 sampleTest() 매소드를 오버라이드 하자.

 

@Override
 public ArrayList<MemberDTO> sampleTest() throws Exception {
  con = ds.getConnection();
  String sql = "SELECT * FROM SP_MEMBER";
  pstmt = con.prepareStatement(sql);
  
  rs = pstmt.executeQuery();
  ArrayList<MemberDTO> list = new ArrayList<>();;
  MemberDTO dto;
  while(rs.next()){
   dto = new MemberDTO();
   
   dto.setSp_id(rs.getString("SP_ID"));
      
   list.add(dto);
  }
 
  return list;
 }

 

 

 

SampleTest 에서 forward를 생성하고 setPath에 ./member/test.jsp 를 지정해줬던 걸 기억하는가?

 

지정만 해주고 만들어 주지를 안았다. 그래서 이제 만들거임.

 

jsp name : test.jsp

path : WEB_CONTENT/member

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="pmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>test jsp 입니다.</h1>
 <c:forEach var="dto" items="${member }">
  ${dto.sp_id } <br/>
 </c:forEach>

</body>
</html>

 

 

 

 

그리고 http://localhost:8080/DaitaShop/memberSample.me 를 주소창에 입력하고 엔터를 때리면 404 에러가 뜨겠지...

 

tomcat 서버를 돌리고 DaitaShop 프로젝트를 서버에 추가 해준다음에

 

주소창에 입력해보자.

 

문제가 없다면 db에서 admin의 값을 읽어와서 브라우저에 뿌려주는 아름다운

 

장면을 보게 될 것이다.