'jetty'에 해당되는 글 6건
- 2014.05.14 Jetty 로 개발할때 org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! 익셉션 처리
- 2014.02.18 jetty 7.x 에서 JNDI Oracle Datasource 설정하기
- 2012.02.09 java.lang.IllegalStateException: Form too large xxx>200000 익셉션이 발생할때.
- 2011.08.22 Eclipse Maven Jetty Plugin 으로 개발하면서 java.lang.OutOfMemoryError: PermGen space 익셉션이 발생할때.
- 2011.08.16 Maven & Jetty Plugin - PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required 에러가 날때. 4
Jetty 로 개발할때 org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! 익셉션 처리
쓸만한지식 2014. 5. 14. 10:48
Jetty 로 개발하면서 org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! 익셉션이 발생한다면
Jetty 스타트시 vm argument 로 요런 옵션을 추가해 주고 스타트 하면 에러가 안난다.
-Dfile.encoding=EUC-KR -Dorg.eclipse.jetty.util.UrlEncoding.charset=EUC-KR -Dorg.eclipse.jetty.util.URI.charset=EUC-KR
이클립 Run-Jetty-Run 훌러그인을 사용할 경우 요렇게 하면 된다~
정확하게는 모르겠지만 org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! 에러가 날때를 보니 url 상에 한글이 있을 경우 익셉션이 발생하는것 같았다.
'쓸만한지식' 카테고리의 다른 글
올레 사이트에서 할인반환금 조회하기 (0) | 2014.06.02 |
---|---|
토드(Toad) 안쓰는 세션 목록 지우기 (1) | 2014.05.29 |
Oracle Client 다운로드 받기 (0) | 2014.04.11 |
GitLab 아바타 이미지 안나올때 (0) | 2014.04.01 |
이클립스로 GitLab 연결하기 (egit 이용) (2) | 2014.03.31 |
jetty 7.x 에서 JNDI Oracle Datasource 설정하기
쓸만한지식 2014. 2. 18. 16:35
먼저 Datasource 를 설정하기 위해 당연히 WEB-INF/lib 에 오라클 jdbc 드라이버 jar 파일이 들어가 있어야 된다.
JNDI 설정하기
1. WEB-INF/jetty-web.xml 파일 추가
jetty-web.xml
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> <Configure class="org.eclipse.jetty.webapp.WebAppContext"> <New class="org.eclipse.jetty.plus.jndi.Resource"> <Arg></Arg> <Arg>JNDI 이름</Arg> <Arg> <New class="oracle.jdbc.pool.OracleConnectionPoolDataSource"> <Set name="URL">jdbc:oracle:thin:@아이피:포트:디비이름</Set> <Set name="User">아이디</Set> <Set name="Password">비밀번호</Set> </New> </Arg> </New> </Configure>
이것저것 찾아보니 요렇게 설정한 다음에 web.xml 파일에 <resource-ref> 부분을 추가해 주라고 하던데 테스트 해보니 굳이 추가 안해줘도 된다.
2. JSP 에서 쪽바로 되는지 테스트
<%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Connection"%> <%@page import="javax.sql.DataSource"%> <%@page import="javax.naming.InitialContext"%> <%@page import="javax.naming.Context"%> <% Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("JNDI 이름"); // 이름을 myds 로 설정 했다면 ctx.lookup("myds"); 요렇게 // 이름을 jdbc/myds 로 설정 했다면 ctx.lookup("jdbc/myds"); 요렇게 lookup 하면된다. Connection conn = ds.getConnection(); ResultSet rs = conn.prepareStatement("select sysdate from dual").executeQuery(); while( rs.next() ){ out.print(rs.getString("sysdate")); } %>
※ JNDI 트리 확인해 보기
package com.tistory.stove99; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NameClassPair; import javax.naming.NamingEnumeration; import javax.naming.NamingException; public class JNDIUtil { public final static boolean INCREASE = true; public final static boolean DECREASE = false; private int level = 0; private Context context = null; public JNDIUtil() throws NamingException{ context = new InitialContext(); } public void print(){ print(""); } public void print(String name){ try{ print(context.list(name), name); }catch (NamingException e){} } private void print(NamingEnumeration pairs, String parent) throws NamingException{ while (pairs.hasMoreElements()) { NameClassPair pair = (NameClassPair)pairs.nextElement(); print(pair); indent(JNDIUtil.INCREASE); print((parent.length() == 0) ? pair.getName() : parent + "/" + pair.getName()); indent(JNDIUtil.DECREASE); } } private void print(NameClassPair entry){ for (int i = 0; i < level; i++) { System.out.print(" "); } System.out.println("-->" + entry); } private void indent(boolean increase){ if(increase) level += 4; else level -= 4; } }
JSP 쪽에서 요 클래스를 땡겨다 실행해 보면 콘솔창에서 JNDI 구조를 확인해 볼 수 있다.
<%@page import="com.tistory.stove99.JNDIUtil"%> <% new JNDIUtil().print(); %>
'쓸만한지식' 카테고리의 다른 글
Ubuntu GitLab 설치하기 with apache, mysql (0) | 2014.03.27 |
---|---|
Linux 서버에서 java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment 에러날때 (1) | 2014.03.18 |
java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext; 에러날때 (0) | 2014.02.14 |
Eclipse juno 툴바에 안드로이드 관련 버튼이 없을때 (2) | 2013.06.20 |
Windows 8 에서 Android SDK Manager 및 AVD Manager 가 실행이 안될때 (5) | 2013.06.20 |
java.lang.IllegalStateException: Form too large xxx>200000 익셉션이 발생할때.
쓸만한지식 2012. 2. 9. 13:04
뭐 대부분의 경우 요 익셉션을 볼 건덕지가 없겠지만~
요 익셉션은 후로그램 상의 문제가 아니라 후로그램이 돌아가는 서버에서 발생하는 익셉션이다.
웹 개발에서 POST 로 서브밋 할때 최대한 보낼수 있도록 설정된 데이터 크기보다 더 큰 데이터를 서브밋 해서 발생하는 익셉션이다.
로컬에서 개발할때 Jetty 를 서버로 써서 개발하고 있기 때문에 Jetty 에서 요 익셉션을 해결하는 방법을 알아 보았다.
찾아보니까 뭐 이것저것 알아들을 수 없는 말을 써 놨던데
방법들 중에서 제일 간편한 방법은 /WEB-INF 폴더에 아래와 같은 jetty-web.xml 파일을 맹글어, 추가해 주면 간단히 해결할 수 있다.
Jetty 가 스타트 될때 web.xml 처럼, 아마 jetty-web.xml 파일을 자동으로 참조해서 설정을 하나보다.
※ maxFormContentSize 의 값으로 원하는 만큼 쭉 늘려주면 된다. 익셉션 내용에서도 알수 있겠지만 디폴트값은 200000 인것 같다.
※ Jetty 7 버전 이상부터 패키지가 org.eclipse.xxx 요걸로 바껴서 class 부분을 죠렇게 설정했고, 이전버전을 쓰고 있다면 class 에 org.mortbay.jetty.webapp.WebAppContext 요걸 설정해 줘야 한다.
요 익셉션은 후로그램 상의 문제가 아니라 후로그램이 돌아가는 서버에서 발생하는 익셉션이다.
웹 개발에서 POST 로 서브밋 할때 최대한 보낼수 있도록 설정된 데이터 크기보다 더 큰 데이터를 서브밋 해서 발생하는 익셉션이다.
로컬에서 개발할때 Jetty 를 서버로 써서 개발하고 있기 때문에 Jetty 에서 요 익셉션을 해결하는 방법을 알아 보았다.
찾아보니까 뭐 이것저것 알아들을 수 없는 말을 써 놨던데
방법들 중에서 제일 간편한 방법은 /WEB-INF 폴더에 아래와 같은 jetty-web.xml 파일을 맹글어, 추가해 주면 간단히 해결할 수 있다.
Jetty 가 스타트 될때 web.xml 처럼, 아마 jetty-web.xml 파일을 자동으로 참조해서 설정을 하나보다.
※ maxFormContentSize 의 값으로 원하는 만큼 쭉 늘려주면 된다. 익셉션 내용에서도 알수 있겠지만 디폴트값은 200000 인것 같다.
※ Jetty 7 버전 이상부터 패키지가 org.eclipse.xxx 요걸로 바껴서 class 부분을 죠렇게 설정했고, 이전버전을 쓰고 있다면 class 에 org.mortbay.jetty.webapp.WebAppContext 요걸 설정해 줘야 한다.
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure id="WebAppContext" class="org.eclipse.jetty.webapp.WebAppContext"> <Set name="maxFormContentSize" type="int">1000000</Set> </Configure>
'쓸만한지식' 카테고리의 다른 글
USB 무선랜 카드 : 애니게이트 XM-300UA 속도 테스트 (2) | 2012.05.18 |
---|---|
T-GATE 주문확인 페이지가 안뜰때(IE9) (8) | 2012.02.21 |
이메일 발송용 html 맨들기 (1) | 2012.02.06 |
ERWin 으로 테이블 생성 스크립트 생성하기 (5) | 2011.12.09 |
북앤라이프 캐쉬 예스24 에서 사용하는 방법 (4) | 2011.11.29 |
Eclipse Maven Jetty Plugin 으로 개발하면서 java.lang.OutOfMemoryError: PermGen space 익셉션이 발생할때.
이클립 2011. 8. 22. 16:38
Run > Run Configurations 로 가서 실행할때 썼던 런설정을 왼쪽트리에서 선택하고, 아래 그림처럼 JRE VM arguments에 셋팅해주면됨
추가해줄 항목
추가해줄 항목
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
※ Jetty 뿐만 아니라 다른데서도 permgen space 에러가 나면 죠 위에 옵션을 jvm 구동시 옵션으로 주면 된다.
※ Jetty 뿐만 아니라 다른데서도 permgen space 에러가 나면 죠 위에 옵션을 jvm 구동시 옵션으로 주면 된다.
'이클립' 카테고리의 다른 글
STS(SpringSource Tool Suite) 활용하기 : RequestMapping 정보 보기 (2) | 2011.09.21 |
---|---|
이클립스 html, js 등등의 파일에서 에러표시 지우기 (1) | 2011.09.01 |
SpringSource Tool Suite(STS) 설치후 이클립 스타트될때 뜨는 Dashboard 안뜨게 하기 (1) | 2011.08.17 |
Maven & Jetty Plugin - PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required 에러가 날때. (4) | 2011.08.16 |
Eclipse Indigo Maven Plugin 설치 & 웹프로젝트 생성 (3) | 2011.08.12 |
Maven & Jetty Plugin - PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required 에러가 날때.
이클립 2011. 8. 16. 01:47
이클립에서 Maven과 Jetty Plugin을 이용해서 뭔가를 쪼물락 거릴때 저런 에러가 났다.
이유는 workspace 에서 사용하도록 디폴트로 설정된게 JDK 가 아닌 JRE 라서 나는 에러인것 같다.
죠것을 해결하기 위해서는
Window > Preference > Java > Installed JREs 에 가보면 현재 사용한다고 체크되 있는것이 JDK 가 이닌 JRE 일껀데 고 체크되있는 것을 클릭한후 Edit 버튼을 눌러서 JDK 로 바꿔주면 된다.
만약 JDK로 바꿨는데 에러모양이 뜨면 Project > Clean 으로 클린을 한번싹 시켜주면 된다~
이유는 workspace 에서 사용하도록 디폴트로 설정된게 JDK 가 아닌 JRE 라서 나는 에러인것 같다.
죠것을 해결하기 위해서는
Window > Preference > Java > Installed JREs 에 가보면 현재 사용한다고 체크되 있는것이 JDK 가 이닌 JRE 일껀데 고 체크되있는 것을 클릭한후 Edit 버튼을 눌러서 JDK 로 바꿔주면 된다.
만약 JDK로 바꿨는데 에러모양이 뜨면 Project > Clean 으로 클린을 한번싹 시켜주면 된다~
'이클립' 카테고리의 다른 글
Eclipse Maven Jetty Plugin 으로 개발하면서 java.lang.OutOfMemoryError: PermGen space 익셉션이 발생할때. (0) | 2011.08.22 |
---|---|
SpringSource Tool Suite(STS) 설치후 이클립 스타트될때 뜨는 Dashboard 안뜨게 하기 (1) | 2011.08.17 |
Eclipse Indigo Maven Plugin 설치 & 웹프로젝트 생성 (3) | 2011.08.12 |
Zencoding 활용 #2 : 문자열 목록을 HTML 태그로 감싸보자! (0) | 2011.08.08 |
Zencoding 활용 #1 : 기본적으로 출력되는 lang, locale, charset 변경하기 (0) | 2011.08.08 |