상세 컨텐츠

본문 제목

codenvy 온라인실습실에서 petclinic 사이트 작업01

JSP·자바·코틀린

by 김일국 2017. 7. 19. 14:11

본문

codenvy ( https://codenvy.io ) 라는 온라인 실습실에서 자바(스프링), Mysql-DB(하이버네이트JPA) 기반의

petclinic 애완동물관리 사이트를 샘플로 제공해 준다.

(*주, 무료계정에서는 로그인해서 작업할 때만 웹서버를 온라인에서 접속해서 결과를 볼 수가 있다. 즉, 로그아웃하면, 확인이 불가하다. 그리고, DB는 수정한 내용이 로그인 상태에서만 유지된다. 단, 자바나 jsp파일은 수정한 내용이 그대로 유지된다.!)


작업시, 첫번째 당면하는 문제는 한글 입출력이 되지 않는 다는 것이다.

총 3가지 작업을 해 주어야 한다.

1) 무료계정에서는 DB설정(my.cnf)을 바꿀수 없기 때문에 접속할때 마다 캐릭터셋 DCL문을 실행 해 줍니다.

   ALTER DATABASE petclinic CHARACTER SET utf8 COLLATE utf8_general_ci;
   ALTER TABLE owners CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;


2) 해당jsp페이지의 인코딩 설정 지시문장을 입력해 줍니다.

   <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>


3) JAVA의 클래스에서 해당 클래스변수들의 인코딩을 변경한다.(아래 try{}catch{} 구문이 추가된 부분이다.)

   public void setFirstName(String firstName) {
        try{
        firstName = new String(firstName.getBytes("8859_1"), "UTF-8");
        }catch(Exception e){}
        this.firstName = firstName;
    }

   public void setLastName(String lastName) {
        try{
        lastName = new String(lastName.getBytes("8859_1"), "UTF-8");
        }catch(Exception e){}
        this.lastName = lastName;
    }

위 작업 결과 petclinic 의 동물주인 이름등록하는 부분이 정상작동 하는 것을 볼수 있게 됩니다.

펫클리닉의 기본DB구조는 아래와 같습니다.

동물병원 테이블구조

owners(동물주인테이블), pets(동물정보), visits(병원방문정보), types(동물의종류:개,고양이,새 등)

vets(수의사이름), specialties(전공명), vet_specialties(수의사의 해당전공)

앞으로는 자바(스프링기반)로 jsp 연습을 위 온라인 실습실에서 하기로 합니다.

관련글 더보기

댓글 영역