Latest web development tutorials

서블릿 국제

우리가 시작하기 전에의 세 가지 중요한 용어를 살펴 보자 :

  • 국제화 (I18N) :이은 웹 사이트 방문자의 언어 나 국적로 번역 된 내용의 다른 버전을 제공하는 것을 의미한다.
  • 지역화 (L10N) :이 사이트는 힌디어 (힌디어)로 번역 된 사이트로 특정 지역이나 문화 적응 자원에 첨가하고 있다는 것을 의미한다.
  • 로케일 (로케일) :이 특별한 문화적, 지리적 영역이다.그것은 일반적으로 밑줄 및 국가 상징 다음 언어 기호를 의미한다. 이러한 영어 (미국) 설정에 대해 "ko 페이지"로 영역을 나타냅니다.

글로벌 웹 사이트를 만드는 몇 가지 고려해야 할 사항이 있습니다. 이러한 고려의 전체 세부 사항을 설명하지 않습니다이 튜토리얼, 그것은 차별화 된 위치 (예 : 로케일이) 다른 언어로 제공 웹 페이지를 만드는 방법을 보여주는 좋은 예를 전달합니다.

서블릿은 요청의 로케일에 따라 사이트의 해당 버전을 선택하고, 현지 언어, 문화, 필요에 따라 사이트의 해당 버전을 제공 할 수 있습니다. 다음은 로케일 객체 반환 요청 개체입니다.

java.util.Locale의 request.getLocale () 

검출 로케일

중요한 지역 설정 방법은 아래에 나열되어, 당신은 지리적 위치, 언어, 지역 설정 요청을 감지하는 데 사용할 수 있습니다. 다음 방법 모두는 국가 및 언어 이름 스터 브라우저 설정의 이름을 표시합니다.

序号方法 & 描述
1String getCountry()
该方法以 2 个大写字母形式的 ISO 3166 格式返回该区域设置的国家/地区代码。
2String getDisplayCountry()
该方法返回适合向用户显示的区域设置的国家的名称。
3String getLanguage()
该方法以小写字母形式的 ISO 639 格式返回该区域设置的语言代码。
4String getDisplayLanguage()
该方法返回适合向用户显示的区域设置的语言的名称。
5String getISO3Country()
该方法返回该区域设置的国家的三个字母缩写。
6String getISO3Language()
该方法返回该区域设置的语言的三个字母的缩写。

이 예는 해당 국가의 언어와 요청을 표시하는 방법을 보여줍니다 :

수입 자바 .io *;
수입에서 javax.servlet *;
수입부터는 javax.servlet.http *;
수입 java.util.Locale의;

공용 클래스없이 GetLocale는 HttpServlet을 확장 {
    
  공공 무효의 doGet (HttpServletRequest의 요청,
                    HttpServletResponse를 응답)
            ServletException이 IOException을 던졌습니다
  {
      // 클라이언트 로케일 로케일 로케일을 가져 = request.getLocale ();
      문자열 언어 = locale.getLanguage ();
      문자열 국가 = locale.getCountry ();

      응답 콘텐츠 형식 response.setContentType을 설정 // ( "text / html과; 문자셋 = UTF-8");
      () = response.getWriter을의 PrintWriter;

      문자열 제목 = "감지 영역 설정";
      문자열 DOCTYPE = "\ n <DOCTYPE html로!>";
      out.println (DOCTYPE +
        "<HTML> \ n"+
        "<머리> <제목>"+ 제목 + "</ 제목> </ head> \ n"+
        "<BODY BGCOLOR = \"#의 f0f0f0 \ "> \ n"+
        "<H1 정렬 = \"센터 \ ">"+ 언어 + "</ H1> \ n"+
        "<H2 정렬 = \"센터 \ ">"+ 국가 + "</ H2> \ n"+
        "</ BODY> </ HTML>");
  }
} 

언어 설정

서블릿은 작성된 페이지 (등 영어, 스페인어, 독일어, 프랑스어, 이탈리아어, 네덜란드어, 등) 서유럽 언어로 내보낼 수 있습니다. 여기서, 모든 문자를 정확하게 표시하기 위해서는, 콘텐츠 Language 헤더 매우 중요 설정.

"N"대표 "& # 161;", "& # 241"두 번째 포인트는 다음과 같은 모든 특수 문자를 표시 할 HTML 엔티티를 사용하는 것입니다 다음과 같이 "¡"를 의미한다 :

수입 자바 .io *;
수입에서 javax.servlet *;
수입부터는 javax.servlet.http *;
수입 java.util.Locale의;

공용 클래스 DisplaySpanish는 HttpServlet을 확장 {
    
  공공 무효의 doGet (HttpServletRequest의 요청,
                    HttpServletResponse를 응답)
            ServletException이 IOException을 던졌습니다
  {
    응답 콘텐츠 형식 response.setContentType을 설정 // ( "text / html과; 문자셋 = UTF-8");
    () = response.getWriter을의 PrintWriter;
    // 스페인어 코드 response.setHeader ( "내용 - 언어", "ES")을 설정하고,

    문자열 제목 = "욕실 에스파 & ntilde; 올 실시";
    문자열 DOCTYPE = "\ n <DOCTYPE html로!>";
     out.println (DOCTYPE +
     "<HTML> \ n"+
     "<머리> <제목>"+ 제목 + "</ 제목> </ head> \ n"+
     "<BODY BGCOLOR = \"#의 f0f0f0 \ "> \ n"+
     "<H1>"+ "욕실 에스파 & ntilde; 올 :"+ "</ H1> \ n"+
     "<H1>"+ "& iexcl ;! 안녕 문도"+ "</ H1> \ n"+
     "</ BODY> </ HTML>");
  }
} 

날짜 특정 로케일

당신은 형식 날짜 및 로케일에 특정 시간에 java.text.DateFormat의 클래스와 정적 메소드 getDateTimeInstance를 ()를 사용할 수 있습니다. 다음의 예는 지정된 로케일 특정 날짜를 포맷하는 방법을 보여줍니다

수입 자바 .io *;
수입에서 javax.servlet *;
수입부터는 javax.servlet.http *;
수입 java.util.Locale의;
수입 java.text.DateFormat의;
가져 오기 java.util.Date;

공용 클래스 DateLocale는 HttpServlet을 확장 {
    
  공공 무효의 doGet (HttpServletRequest의 요청,
                    HttpServletResponse를 응답)
            ServletException이 IOException을 던졌습니다
  {
    응답 콘텐츠 형식 response.setContentType을 설정 // ( "text / html과; 문자셋 = UTF-8");
    () = response.getWriter을의 PrintWriter;
    // 클라이언트 로케일 로케일 로케일을 가져 = request.getLocale ();
    문자열 날짜 = DateFormat.getDateTimeInstance (
                                  DateFormat.FULL, 
                                  DateFormat.SHORT, 
                                  로케일) .format (새 Date ());

    문자열 제목 = "로케일 특정 날짜";
    문자열 DOCTYPE = "\ n <DOCTYPE html로!>";
      out.println (DOCTYPE +
      "<HTML> \ n"+
      "<머리> <제목>"+ 제목 + "</ 제목> </ head> \ n"+
      "<BODY BGCOLOR = \"#의 f0f0f0 \ "> \ n"+
      "<H1 정렬 = \"센터 \ ">"+ 날짜 + "</ H1> \ n"+
      "</ BODY> </ HTML>");
  }
} 

환율 특정 로케일

당신은 통화 별 로케일로 (예 : 긴 두 번 유형 또는 유형으로) 형식 번호에 java.text.NumberFormat의 클래스와 정적 메소드 getCurrencyInstance ()를 사용할 수 있습니다. 다음의 예는 지정된 로케일에 특정 통화를 포맷하는 방법을 보여줍니다

수입 자바 .io *;
수입에서 javax.servlet *;
수입부터는 javax.servlet.http *;
수입 java.util.Locale의;
수입 java.text.NumberFormat의;
가져 오기 java.util.Date;

공용 클래스 CurrencyLocale는 HttpServlet을 확장 {
    
  공공 무효의 doGet (HttpServletRequest의 요청,
                    HttpServletResponse를 응답)
            ServletException이 IOException을 던졌습니다
  {
    응답 콘텐츠 형식 response.setContentType을 설정 // ( "text / html과; 문자셋 = UTF-8");
    () = response.getWriter을의 PrintWriter;
    // 클라이언트 로케일 로케일 로케일을 가져 = request.getLocale ();
    의 NumberFormat NFT = NumberFormat.getCurrencyInstance (로케일);
    문자열 formattedCurr = nft.format (1000000);

    문자열 제목 = "로케일 특정 통화";
    문자열 DOCTYPE = "\ n <DOCTYPE html로!>";
      out.println (DOCTYPE +
      "<HTML> \ n"+
      "<머리> <제목>"+ 제목 + "</ 제목> </ head> \ n"+
      "<BODY BGCOLOR = \"#의 f0f0f0 \ "> \ n"+
      "<H1 정렬 = \"센터 \ ">"+ formattedCurr + "</ H1> \ n"+
      "</ BODY> </ HTML>");
  }
} 

비율 특정 로케일

당신은 백분율 특정 로케일의 형식을 java.text.NumberFormat의 클래스와 정적 메소드 getPercentInstance ()를 사용할 수 있습니다. 다음의 예는, 지정된 로케일에 특정 비율을 포맷하는 방법을 보여줍니다

수입 자바 .io *;
수입에서 javax.servlet *;
수입부터는 javax.servlet.http *;
수입 java.util.Locale의;
수입 java.text.NumberFormat의;
가져 오기 java.util.Date;

공용 클래스 PercentageLocale는 HttpServlet을 확장 {
    
  공공 무효의 doGet (HttpServletRequest의 요청,
                    HttpServletResponse를 응답)
            ServletException이 IOException을 던졌습니다
  {
    응답 콘텐츠 형식 response.setContentType을 설정 // ( "text / html과; 문자셋 = UTF-8");
    () = response.getWriter을의 PrintWriter;
    // 클라이언트 로케일 로케일 로케일을 가져 = request.getLocale ();
    의 NumberFormat NFT = NumberFormat.getPercentInstance (로케일);
    문자열 formattedPerc = nft.format (0.51);

    문자열 제목 = "특정 비율을 로케일";
    문자열 DOCTYPE = "\ n <DOCTYPE html로!>";
      out.println (DOCTYPE +
      "<HTML> \ n"+
      "<머리> <제목>"+ 제목 + "</ 제목> </ head> \ n"+
      "<BODY BGCOLOR = \"#의 f0f0f0 \ "> \ n"+
      "<H1 정렬 = \"센터 \ ">"+ formattedPerc + "</ H1> \ n"+
      "</ BODY> </ HTML>");
  }
}