japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

 
MySQL 자료조회
조회 : 2,863  



2001-01-26 kenu


이번에는 db에 저장된 내용을 브라우저로 불러오겠습니다.

mysqljdbc02.jsp

<%@ page import="java.sql.*"%>

<%
String DB_URL = "jdbc:mysql://localhost/test";
String DB_USER = "";
String DB_PASSWORD= "";

Connection conn;
Statement stmt;
ResultSet rs=null;

String query = "select * from createTest";

// try {
Class.forName("org.gjt.mm.mysql.Driver");

conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);

stmt = conn.createStatement();

rs = stmt.executeQuery(query);

while (rs.next()) {

out.println(rs.getString(1));
out.println(" ");
out.println(rs.getString(2));
out.println("<br>");
}

rs.close();

stmt.close();

conn.close();

// } catch(Exception e){e.printStackTrace();}
%>

이렇게 저장을 한 뒤에 브라우저에서 페이지를 불러와 실행 시켜봅니다.

db에 입력했던 값들이 브라우저에 표시될 것입니다. 500 에러라구요? 이럴 수가... 오타확인해보세엽.

문제가 하나 있을 것입니다. 깨진 한글....

???

라고 나오죠? 이 문제는 일단 db에 깨진 값이 들어가면 복구가 힘들다고 저 개인적으로 판단하고 있는데요. sql 상에서 질의(query)했을 때 한글이 제대로 나온다면 불러올 때 한글로 불려진다고 생각하시면 됩니다. 인코딩할 때 각개 전투하는 법과 페이지 통째로 하는 법이 있습니다.

일단 각개 전투법은

out.println(rs.getString(1)); 을 decoding 해주는 것입니다.

이렇게요.

out.println(new String(rs.getString(1).getBytes("euc-kr"),"8859_1"));

db에 입력할 때 인코딩한 코드이기 때문에 역으로 decoding 해주면 볼 수 있습니다. 또 다른 방법은 page 지시자에 contentType 속성을 표시하는 것입니다.

페이지 맨 첫줄에 있는

<%@ page import="java.sql.*"%>

<%@ page import="java.sql.*" contentType="text/html; charset=euc-kr"%>
으로 바꿔줍니다. 그리고 디코딩 부분을 주석처리하고 원래 표시부분을 아래 다시 씁니다.

//out.println(new String(rs.getString(1).getBytes("euc-kr"),"8859_1"));
out.println(rs.getString(1));

이런 식으로요. 나중엔 주석처리를 깨끗하게 정리해 주는 것이 좋겠죠. 한글 처리 가능한 부분이 두가지 이기 때문에 더 헷갈리는 지도 모르겠습니다. 하지만 이것을 차근차근 적용해 본다면... (경우의 수가 8가지 이지만 ^^) 한글 문제가 그리 어렵지만은 않을 것입니다.

출근해야 되니까, 이 정도로 초고 넘깁니다. 다음 번에는 파일 업로드 기능을 알아보겠습니다. 그러면서 jspSmartUpload 의 유용한 기능 몇 가지를 구워삶아 먹겠습니다.

 

참고 :

kenu: heogn@shinbiro.com
http://okjsp.pe.kr


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=624


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
(주) 수퍼유저

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 웹개발언어
PHP
JSP
python
기타
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.