일본 야후에서 검색어들에 대한 이미지를 플러그인으로 지원 한다고 한다.
몽키스인가... 이름은 잘 생각나지 않는다.
다음에 우리 회사에도 적용할 부분을 찾아 봐야 겠다.

Posted by gt1000



[출저]
http://darkhorizon.tistory.com/entry/charset-%EA%B3%BC-pageEncoding%EC%97%90-%EB%8C%80%ED%95%B4



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

 - contentType  속성 : JSP파일 출력시 문자코드 및 Content-Type 헤더에
                                출력할 문자코드명을 지정

  - pageEncoding 속성 : JSP파일 작성시의 문자코드를 지정

자바가상머신(JVM)의 내부에서는 모든 문자열이 Unicode로 표현된다.
그러므로 서블릿 콘테너는 JSP파일을 JVM에 읽어들일 때 JSP파일의
문자코드(예를들어 EUC-KR)에서 Unicode로 변환한다.
그리고 웹브라우저에 HTML문서를 출력할 때는 Unicode로부터 출력파일의
문자코드로 변환한다.


■contentType 속성의 역할


contentType 속성은 "JSP파일 출력시의 문자코드", "Content-Type 헤더에
지정할 문자코드"의 양쪽을 지정하는 기능을 갖는다.
상기 코드와 같이 기술하면 서블릿 콘테너는 콘텐츠를 EUC-KR로
Encode하여 출력한다.
또한 동시에 Content-Type 헤더를 통하여 문자코드 종류를 웹브라우저에
전달한다.

 

■pageEncoding 속성의 역할


pageEncoding 속성은 "JSP파일 작성시의 문자코드"를 지정하기 위한
속성으로서 JSP 1.2사양(Tomcat 4.0) 이후부터 지원된다.
예를들어, 윈도우즈에서 작성한 JSP파일이면 EUC-KR를 지정하면 된다.
UNIX의 일본어 에디터로 작성한 것이라면 EUC-JP를 지정하면 바르게 처리될
것이다.

pageEncoding 속성을 생략한 경우, JSP 1.2 사양에서는
"contentType 속성에서 지정된 문자코드로 JSP파일을 읽어들임"
이라고 규정되어 있다.
그러므로 보통은 생략해도 문자깨짐이 발생할 염려는 없다.
그렇지만 EUC-KR -> Unicode -> EUC-KR 의 문자코드 변환은
기억해 둬야 한다.
또한 include 된 JSP파일에서는 contentType 속성을 기술할 수 없으므로
pageEncoding 속성을 이용할 필요가 있다.
이 문제에 대해서는 다음회에 설명할 예정이다.
덧붙여, contentType 속성과 pageEncoding 속성에는 각기 다른 문자코드를
지정할 수도 있다.
예를들어 ShiftJIS로 작성한 JSP파일을 EUC-JP,UTF-8등으로 출력하는 것도
가능하다.
Posted by gt1000

해당 주소의 모든 컨텐츠를 String으로 얻어오는 소스
나중에 고쳐라.


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.CookieHandler;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.junit.Test;

public class UrlTest {
// private static Log log = LogFactory.getLog(UrlTest.class);
 
 @Test
 public void getContent() throws Exception {
  
  getURL("http://java.sun.com", "utf-8", true);
 }
 
 private String getURL(String surl, String ENCODING, boolean isGetHeader) throws Exception{
 
  String Header = "";
  String Cookie = ""; 
  String ret = "";
  String param = "";

  try {
      
      URL url = new URL(surl);
      URLConnection urlC = url.openConnection();
      urlC.setUseCaches(false);
    
      urlC.setDoOutput(true);
      urlC.setRequestProperty("Cookie", Cookie);
 
      if(!param.equals("")) {
       OutputStream outStream = urlC.getOutputStream();
       Writer writer = new OutputStreamWriter(outStream);
       writer.write(param);
      }
 
      urlC.connect();
 
      InputStreamReader isr = null;
      BufferedReader br =  null;
      String temp;
      StringBuffer buffer = new StringBuffer();
 
      try {
        
       isr = new InputStreamReader(urlC.getInputStream(), ENCODING);
       br = new BufferedReader(isr);
 
       while((temp = br.readLine()) != null) {
        //System.out.println(temp);
        buffer.append(temp);
       }
 
       br.close();
       isr.close();
 
       Header = "";
         
       if(isGetHeader) {
        Header = getHeader(urlC, Header);
       }
 
       ret = buffer.toString();
       
      } catch(IOException e) {
       ret = "fail.." + e;
      }
     } catch(IOException e) {
      ret = "fail." + e;
     }

     //System.out.println(ret);
    
     return(ret);
 }
 
 private String getHeader(URLConnection urlC, String Header) {
  
  Map map = urlC.getHeaderFields();
  System.out.println(map);
  
  
  int n = 0;
  String field = "a";
  while(field != null && !field.equals("")) {
   field= urlC.getHeaderField(n);
   Header += urlC.getHeaderFieldKey(n)+"="+field+"\n";
   n++;
  }

    /*
     * HTTP 헤더 정보는 다음과 같은 형태로 얻을수 있다.
     * null=HTTP/1.1 200 OK
     * Date=Sun, 27 Jul 2008 08:21:29 GMT
     * Server=Microsoft-IIS/6.0
     * X-Powered-By=ASP.NET
     * Content-Length=6
     * Content-Type=text/html
     * Set-Cookie=NAME=NAME2=VALUE2&NAME1=VALUE1; path=/
     * Set-Cookie=ASPSESSIONIDQCQCSQDD=GMPNAABCMELOFMCPFPCJOOHG; path=/
     * Cache-control=private
     * null=null
     */
  
  System.out.println(Header);
  
  return Header;
 }
 
 private String retrieveCookie(URL url) throws Exception {
     
  String cookieValue = null;

     CookieHandler handler = CookieHandler.getDefault();
     if (handler != null) {
      
         Map headers = handler.get(url.toURI(), new HashMap());
         List values = (List)headers.get("Cookie");
        
         for (Iterator iter=values.iterator(); iter.hasNext();) {
        
          String v = (String)iter.next();

              if (cookieValue == null)
               cookieValue = v;
              else
                     cookieValue = cookieValue + ";" + v;
         }
     }
    
     System.out.println(cookieValue);
    
     return cookieValue;
 }
}


쿠키 관련은  다음 사이트 참조를 참조 할것
http://programmers.tistory.com/204

'java' 카테고리의 다른 글

톰캣, 자바 메모리 관련  (0) 2010.02.03
파일 다운 로드 관련  (0) 2010.02.03
파일 업로더  (0) 2009.12.10
힙 사이즈 구하기  (0) 2009.12.04
jdk 설치 윈도우, 리눅스  (0) 2009.11.28
Posted by gt1000

블로그 이미지
gt1000

태그목록

공지사항

어제
오늘

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함