IT정리노트

블로그 이미지

Edward. K

메멘토적 기억능력을 소유한 개발자 노트.

'Programming/JAVA'에 해당되는 글 76건

제목 날짜
  • java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949 2021.06.16
  • [Spring] ResponseBody 한글깨짐 오류 해결 2020.07.14
  • Java 1.7 버전에서 TLSv1.2 사용 2020.06.19
  • The alias '' is already mapped to the value '**$1'. 2019.07.25
  • java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader)(1) 2013.09.02

java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949

Programming/JAVA 2021. 6. 16. 11:05

db select 시 아래와 같은 에러가 발생했다.
   java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949

더보기

    There was an unexpected error (type=Internal Server Error, status=500).
    Error attempting to get column 'DOC_NO' from result set. Cause: java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949 ; 
    uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949; 
    nested exception is java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949
    org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column 'DOC_NO' from result set.  
    Cause: java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949    ; 
    uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949; 
    nested exception is java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949
        at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)

Oracle DB의 문자셋(characterset)  방식은  'KO16MSWIN949'
  SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';

더보기

1) KO16KSC5601  * 한글자를 표현하기 위해서 2byte를 사용

      완성형 한글 방식, 일반적으로 많이 사용되며
       2350자의 한글, 4888자의 한자, 히라카나, 카타카나, 영문 및 각종 기호를 포함하고 있음

2) KO16MSWIN949  * 한글자를 표현하기 위해서 2byte를 사용
      웹 페이지 인코딩 방식인 MS949에서 따온 코드셋이라고 한다
      완성형 한글을 포함하여, 조합형까지 총 11172자의 한글을 표현

3) UTF8 / AL32UTF8  * 한글자를 표현하기 위해서 3byte를 사용
      유니코드 표준 UTF-8 인코딩 체계를 따르는 방식, 11172자의 한글을 지원
       Oracle 8i 보다 하위 버전인 경우 UTF8을 사용하며, 그 이상의 경우는 AL32UTF8을 사용한다.

 

사용하는 JDBC인    ojdbc8-21.1.0.0.jar 에서  지원하지 않는 인코딩 방식이라 에러가 발생한 것으로,
아래 방법으로 해결하면 된다.

1. orai18n.jar 다운로드  * orai18n.jar  으로 조회하여 다운로드 
      https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html

 2. orai18n.jar  라이브러리 등록합니다.
      - 프로젝트 우클릭 > 하단의 Properties 선택 


      -  Properties 에서  Java Build Path  > Libraries 탭 선택,  Add External JARs... 선택,   orai18n.jar  등록


3. 서버 재 시작, 확인.

  • 카카오스토리
  • 트위터
  • 페이스북
Posted by Edward. K

[Spring] ResponseBody 한글깨짐 오류 해결

Programming/JAVA 2020. 7. 14. 13:25

[Spring 3.1 이하]  응답 헤더에 Content-Type 지정

@RequestMapping(value="/cancleAjax/{cancelNo}", method=RequestMethod.POST)
public ResponseEntity<String> cancleAjax(HttpServletRequest req, @PathVariable("cancelNo") String cancelNo, Model model) throws Exception {
   
    // Json 결과값 : {"result": "삭제완료","cencelNo": 1209}
    String jsonResult = "{\"result": \"삭제완료\",\"cencelNo\": 1209}" ;       
     
    // 응답헤더 지정
    HttpHeaders resHeaders = new HttpHeaders();
    resHeaders.add("Content-Type", "application/json;charset=UTF-8"); 
    return new ResponseEntity<String>(jsonResult, resHeaders, HttpStatus.CREATED) ; 
}

[Spring 3.2 이상] produces 옵션에 Contents-Type 지정 

@RequestMapping(value="/cancleAjax/{cancelNo}", method=RequestMethod.POST, produces = "application/json; charset=utf8")
public @ResponseBody String cancleAjax(HttpServletRequest req, @PathVariable("cancelNo") String cancelNo, Model model) throws Exception {

    // Json 결과값 : {"result": "삭제완료","cencelNo": 1209}
    String jsonResult = "{\"result": \"삭제완료\",\"cencelNo\": 1209}" ;          

    return jsonResult;   
}

 

 

  • 카카오스토리
  • 트위터
  • 페이스북
Posted by Edward. K

Java 1.7 버전에서 TLSv1.2 사용

Programming/JAVA 2020. 6. 19. 09:35

     // server가 TLS 1.2 버전만 사용할 때 Java의 경우 JDK 1.8 부터 TLS 1.2 가 기본 버전이므로 문제가 없지만, 
     // 이전 JDK 버전을 사용하는 client의 경우는 예외가 발생
     //   JDK 1.7 버전인경우 하 TLS버전 설정 필요.
     System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");
    
     URL url= new URL("https//111.222.333/44");
     conn = (HttpURLConnection) url.openConnection();

 

더보기

Java 1.7 에서는 기본값으로 SSL 암호화 통신시 TLSv1.0을 지원합니다.
IF 통신시  "sslhandshakeexception" 이란 예외가 발생한다면 서버에서 지원하는 TLS버전과
자바 클라이언트의 TLS버전이 맞지 않아 발생하는 오류임.

서버에서 TLSv1.2만 지원하는데 클라이언트가 v1.0이라면 위와 같은 예외를 던지며 SSL연결을 맺지 않습니다.
Java 1.8 부터는 TLSv1.2를 기본으로 지원하지만 그 하위 버전에서는 v1.0을 기본으로 합니다.

위와 같은 예외가 발생하면 가장 만만하게 해결할 방법은 Java 버전을 8버전으로 올리는 방법이 있지만..
통신시  아래  한줄 추가해주면,  java하위버전에서도 TLSv1.2를 지원하게 된다.

System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");

  • 카카오스토리
  • 트위터
  • 페이스북
Posted by Edward. K

The alias '' is already mapped to the value '**$1'.

Programming/JAVA 2019. 7. 25. 19:52


inner class( **$1.class) 에서 에러가 발생했다..-_-; 

alias 제한을 너무 넓게 잡아서 발생한 문제.  범위를 세밀하게 하자..

  properties.yml 
  #  typealias 설정 
  type-aliases-package: kr.co.roit.pmis   <-패키지내 모든 파일.  
  type-aliases-package: kr.co.roit.pmis.**.entity  #    @Alias("alias명") 등록 

------------
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'commonServiceImpl': 
Unsatisfied dependency expressed through field 'commonMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'commonMapper' defined in file [D:\roi_framework\workspaces_3\MPMS_JAVA\build\classes\java\main\kr\co\roit\pmis\common\mapper\CommonMapper.class]: 
Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: 
Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: 
Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; 
nested exception is org.apache.ibatis.type.TypeException: The alias '' is already mapped to the value 'kr.co.roit.pmis.common.util.Scalr$1'.

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)


Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
Error creating bean with name 'commonMapper' defined in file [D:\roi_framework\workspaces_3\MPMS_JAVA\build\classes\java\main\kr\co\roit\pmis\common\mapper\CommonMapper.class]: 
Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: 
Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: 
Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.apache.ibatis.type.TypeException: 
The alias '' is already mapped to the value 'kr.co.roit.pmis.common.util.Scalr$1'.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1515)


Caused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]:
Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: 
Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; 
nested exception is org.apache.ibatis.type.TypeException: The alias '' is already mapped to the value 'kr.co.roit.pmis.common.util.Scalr$1'.



Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: 
Factory method 'sqlSessionFactory' threw exception; nested exception is org.apache.ibatis.type.TypeException: 
The alias '' is already mapped to the value 'kr.co.roit.pmis.common.util.Scalr$1'.

Caused by: org.apache.ibatis.type.TypeException: The alias '' is already mapped to the value 'kr.co.roit.pmis.common.util.Scalr$1'.



  • 카카오스토리
  • 트위터
  • 페이스북
Posted by Edward. K

java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader)

Programming/JAVA 2013. 9. 2. 13:15


JDK7 에서 JBOSS EAP 4.3 환경에서 전자정부 프레임웍을 테스트하는 과정에서 다음과 같은 에러가 발생하였다.


11:44:51,006 ERROR [ContainerBase] Servlet.service() for servlet action threw exception

java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/el/ExpressionFactory"


멘토인 구글링을 통해 아래 2개의 해결 방안을 찾았고, 해결했다.


해결방안 1. tomcat7은 jsp 2.2를 사용하므로 jsp-api pom에서 제거 

http://stackoverflow.com/questions/3761249/loader-constraint-violation


해결방안 2. tomcat7은 jsp 2.2를 사용하므로 jsp-api 버전을 2.2로 변경.

http://stackoverflow.com/questions/8522329/tomcat-7-linkageerror-issue-on-el



본인은   2번째 해결방안을 사용하였다.

<dependency>

<groupId>javax.servlet.jsp</groupId>

<artifactId>jsp-api</artifactId>

<version>2.2</version>  <!--  JDK7 을 위해 2.2 로 변경 기존:2.1 -->

                        <scope>provided</scope>

</dependency>

저작자표시 비영리 변경금지
  • 카카오스토리
  • 트위터
  • 페이스북
Posted by Edward. K
egov, 전자정부프레임워크

이전페이지 다음페이지
블로그 이미지

메멘토적 기억능력을 소유한 개발자 노트.

by Edward. K

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • linux ls 날자 형식 변경 + 파일사이즈 형식 변경 1
  • linux 설치된 APACHE HTTPD, TOMCAT 버전 확⋯
  • 통신(포트) 상태 확인 > ping, telnet, echo ⋯
  • Referenced file contains errors (ht⋯
  • 이클립스에서 SVN 연결 해제.
  • 더 보기
  • # Local Network Messenger 'LanChat'⋯
    낸쳇 ㆍ 01.19
  • 너무 좋은 글입니다!
    More ㆍ 11.06
  • 참 별것도 아닌게 신경쓰였는데 신기하네요 그림판이 켜었었습니다.
    감사 ㆍ 10.12
  • 감사합니다! 기존에 그림판이 켜 있을 때 종료한 경우, 다음에 ⋯
    굴링굴링 ㆍ 10.11
  • 와 같은 증상이었는데 그림판이 범인이었습니다. 감사합니다!
    도시괴담 ㆍ 09.10

태그

  • Flash Player
  • ERwin
  • 이클립스
  • 이미지 편집
  • 가상화폐무료
  • 사업 이야기
  • 컴퓨터 관리
  • 캡쳐툴
  • sqlgate
  • 플래시 게임
  • toad
  • Eclipse
  • 미네르바
  • 색상코드표
  • flex
  • android
  • iBATIS
  • Jboss
  • 중독성게임
  • rocketdock
  • 전자정부프레임워크
  • netbeans
  • EditPlus
  • Graphic
  • eclipse plugin
  • egov
  • EkNote
  • 개한민국
  • tomcat
  • STS

글 보관함


  • 2021/12
    (3)

  • 2021/11
    (7)

  • 2021/09
    (1)
«   2023/01   »
일 월 화 수 목 금 토
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 31

링크

카테고리

분류 전체보기 (778)
행운이와함께 (1)
EkNote Project (18)
ARIS (0)
Android (2)
LINK (37)
UML (9)
Utility (76)
Protable (3)
Programming (152)
Cobol (0)
ASP (0)
CSS (5)
C_C++ (2)
IBatis (2)
JSP (3)
JAVA (76)
JavaScript (44)
PHP (0)
MobileProgram (4)
SKT (0)
KTF (0)
LGT (0)
자료들 (4)
DB (81)
mongoDB (0)
MySQL (8)
Oracle (60)
MSSQL (4)
Graphic (8)
Flash (3)
PhotoShop (3)
SourceFactory (4)
Collection (67)
작가의기막힌상상력 (13)
미소를찾아보는공간 (42)
내심장은작동중일까 (6)
멀더와스컬리의노트 (1)
이건어디에사용할까 (5)
Edward (274)
나만 알기엔 아까워 (100)
기억하기 위한 기록 (122)
시선이 머무는 공간 (50)
숨기고 싶은 이야기 (2)

카운터

Total
1,406,930
Today
40
Yesterday
32
방명록 : 관리자 : 글쓰기
Edward. K's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

IT정리노트

메멘토적 기억능력을 소유한 개발자 노트.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (778)
    • 행운이와함께 (1)
    • EkNote Project (18)
    • ARIS (0)
    • Android (2)
    • LINK (37)
    • UML (9)
    • Utility (76)
      • Protable (3)
    • Programming (152)
      • Cobol (0)
      • ASP (0)
      • CSS (5)
      • C_C++ (2)
      • IBatis (2)
      • JSP (3)
      • JAVA (76)
      • JavaScript (44)
      • PHP (0)
    • MobileProgram (4)
      • SKT (0)
      • KTF (0)
      • LGT (0)
      • 자료들 (4)
    • DB (81)
      • mongoDB (0)
      • MySQL (8)
      • Oracle (60)
      • MSSQL (4)
    • Graphic (8)
      • Flash (3)
      • PhotoShop (3)
    • SourceFactory (4)
    • Collection (67)
      • 작가의기막힌상상력 (13)
      • 미소를찾아보는공간 (42)
      • 내심장은작동중일까 (6)
      • 멀더와스컬리의노트 (1)
      • 이건어디에사용할까 (5)
    • Edward (274)
      • 나만 알기엔 아까워 (100)
      • 기억하기 위한 기록 (122)
      • 시선이 머무는 공간 (50)
      • 숨기고 싶은 이야기 (2)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바