'분류 전체보기'에 해당되는 글 223건
- 2014.02.18 jetty 7.x 에서 JNDI Oracle Datasource 설정하기
- 2014.02.14 java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext; 에러날때
- 2013.06.20 Eclipse juno 툴바에 안드로이드 관련 버튼이 없을때 2
- 2013.06.20 Windows 8 에서 Android SDK Manager 및 AVD Manager 가 실행이 안될때 5
- 2013.04.25 apt-get 으로 Ubuntu 12.04에서 Oracle JDK 설치 & Tomcat 설치 2
jetty 7.x 에서 JNDI Oracle Datasource 설정하기
먼저 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.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext; 에러날때
java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
요 에러는 expression language 버전이 맞지 않아서 나는 에러다.
주로 쾌적한 최신의 개발환경에서 개발하다 후진 운영서버에 배포를 했을때 난다.
나의 경우는 운영서버가 JEUS 5.0 에다 무려 JDK는 1.4 를 쓰고 있는, 요즘 시대에 매우 열악한 환경이다.
개발할때 JEUS 로 해볼려고 했으나 도저히 후지고 느리고 답답하고 짜증스럽기 그지 없어서 개발용 WAS는 JETTY 를 쓰면서 개발했다.
살살 개발하고 있는 도중, 잘 돌아가겠지(?) 하는 약간의 걱정으로 개발하던걸 JEUS 에서 살짝 돌려 보았다.
에러 없이 뽕 뜰것을 기대했는데 안타깝게도 에러가 났다.
망할 에러를 해결하기 위해 약간의 시간을 들여 검색후 해결은 했다~
해결방법
만약 후로젝트 라이브러리 중에 jstl-1.2.jar 가 있다면 요것의 버전을 jstl-1.1.2.jar 로 낮추고 추가로 standard-1.1.2.jar 파일을 추가해 주면 된다.
※ Maven Repository
<dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.1.2</version> </dependency> <dependency> <groupid>taglibs</groupid> <artifactid>standard</artifactid> <version>1.1.2</version> </dependency>
※ Library Downlad
'쓸만한지식' 카테고리의 다른 글
Linux 서버에서 java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment 에러날때 (1) | 2014.03.18 |
---|---|
jetty 7.x 에서 JNDI Oracle Datasource 설정하기 (0) | 2014.02.18 |
Eclipse juno 툴바에 안드로이드 관련 버튼이 없을때 (2) | 2013.06.20 |
Windows 8 에서 Android SDK Manager 및 AVD Manager 가 실행이 안될때 (5) | 2013.06.20 |
apt-get 으로 Ubuntu 12.04에서 Oracle JDK 설치 & Tomcat 설치 (2) | 2013.04.25 |
Eclipse juno 툴바에 안드로이드 관련 버튼이 없을때
뭐 딱히 고 버튼이 없어도 상관은 없지만~ 있다가 없으니까 왠지 쫌 깨름찍한 마음에..~
쥬노를 따운받아서 ADT 훌러그인을 설치하고 이클립스를 폿 다시 실행시켜 보니 요 두개 버튼이 보이질 않았다.
굳이 내는 꼭 보이고 싶다고 한다면 요렇게 하면 된다.
Window - Customize Perspective... 요기에 들어가서 Tool Bar Visibility 에 있는 Android SDK and AVD Manager 를 폿 체크해 주면 된다.
'쓸만한지식' 카테고리의 다른 글
jetty 7.x 에서 JNDI Oracle Datasource 설정하기 (0) | 2014.02.18 |
---|---|
java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext; 에러날때 (0) | 2014.02.14 |
Windows 8 에서 Android SDK Manager 및 AVD Manager 가 실행이 안될때 (5) | 2013.06.20 |
apt-get 으로 Ubuntu 12.04에서 Oracle JDK 설치 & Tomcat 설치 (2) | 2013.04.25 |
Mysql ssl 설정 & JDBC 로 SSL 통신 (5) | 2013.04.23 |
Windows 8 에서 Android SDK Manager 및 AVD Manager 가 실행이 안될때
windows8에서 추가로 platform을 받을려고 SDK Manager 를 실행시켜 보니 커맨드창만 잠깐 떳다가 뽓 꺼지고 SDK Manager 가 실행이 않됬다.
그래서 이것저것 찾아보니 해결방법이 있었다.
일단 실행이 안되는 원인은 꾸리한 java 가 실행이 되서 그렇다.
커맨드 창을 열어서 where java 라고 입력해 보면 java 라고 쳤을때 실행될 java 파일이 어딧는지 찾아주는데 느닷없이 내가 설치한 jdk 에 있는 java.exe가 실행되는것이 아니라 C:\Windows\System32\java.exe 요게 실행이 된다.
그래서 SDK Manager 가 실행이 쪽바로 안되는 것이다.
요것을 해결할려면
시스템속성 - 환경변수 - 시스템변수 중 Path 변수의 제일앞에 JDK 설치경로/bin 디렉토리를 PATH 에다 추가시켜 주면 된다.
기존 PATH 변수를 보면 %SystemRoot%\system32 요런게 있을껀데 요거보다 앞에 추가시켜 줘야 JDK 에 있는 java.exe가 실행이 되서 SDK Manager가 쪽바로 실행된다.
요렇게 바꿔준뒤 커맨드 창을 다시 껏다 키고 where java 라고 입력해 보면 설치된 jdk 에 포함된 java.exe 가 먼저 실행되게 설정된다.
고러면 다시 SDK Manager 를 실행해 보면 잘된다~ AVD Manager 도 실행이 잘된다.
※ 요래 이것저것 설정하기 귀찮으면 그냥 android sdk 설치디렉토리/tools/android.bat 파일을 실행해도 SDK Manager 는 실행이 잘된다~
'쓸만한지식' 카테고리의 다른 글
java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext; 에러날때 (0) | 2014.02.14 |
---|---|
Eclipse juno 툴바에 안드로이드 관련 버튼이 없을때 (2) | 2013.06.20 |
apt-get 으로 Ubuntu 12.04에서 Oracle JDK 설치 & Tomcat 설치 (2) | 2013.04.25 |
Mysql ssl 설정 & JDBC 로 SSL 통신 (5) | 2013.04.23 |
Windows Command 창에서 프로그램 종료 시 (2) | 2013.03.26 |
apt-get 으로 Ubuntu 12.04에서 Oracle JDK 설치 & Tomcat 설치
저번에는 jdk 랑 tomcat을 그냥 쌩으로 다운로드 받아서 설치하는 방법 에 대해서 글을 작성했었는데
요번에는 apt-get 으로 쉽고 간지나게 설치해 보자.
아무것도 안깔려 있다고 가정하고 먼저 Oracle JDK 를 설치해 보자.
먼저 apt-add-repository 명령으로 Oracle JDK 가 있는 repository를 추가시켜 줘야 되는데, 만약 이 명령어를 입력했는데 요런 명령어가 없다고 그라면 요렇게 해서 설치를 할 수 있다.
sudo apt-get install python-software-properties
apt-add-repository 가 설치됬다면 요렇게 해서 Oracle JDK 를 설치한다. JDK를 설치하면서 뭐 물어보는데 대충 예예~ 하고 넘어가면 된다.
sudo apt-add-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-jdk7-installer
쪽바로 설치됬는지 확인할려면
java -version
JDK를 설치했으니 톰캣을 설치해보자.
sudo apt-get install tomcat6
요렇게 설치를 하면 설치가 완료되자 마자 톰캣 서비스를 실행시켜주는데
* no JDK found - please set JAVA_HOME
요런 메시지가 뜨면서 톰캣이 실행이 되지 않는다.
/etc/profile, /etc/environment 요런데다 JAVA_HOME을 설정해 주라고 해서 해봤는데 잘 안됐다.
고럴땐 /etc/default/tomcat6 파일을 vi 편집기로 열어 JAVA_HOME=/usr/lib/jvm/java-7-oracle 요렇게 JAVA_HOME을 설정해 주니 잘됬다.
sudo vi /etc/default/tomcat6 # 대충 위쪽 부분에 JAVA_HOME=/usr/lib/jvm/java-7-oracle 요거 추가
다시 톰캣 스타트
sudo service tomcat6 start
웹브라우져로 확인
※ 각종 파일 위치들
server.xml : /etc/tomcat6/server.xml
로그파일 : /var/log/tomcat6/catalina.out, /var/log/tomcat6/localhost.xxxx-xx-xx.log
'쓸만한지식' 카테고리의 다른 글
Eclipse juno 툴바에 안드로이드 관련 버튼이 없을때 (2) | 2013.06.20 |
---|---|
Windows 8 에서 Android SDK Manager 및 AVD Manager 가 실행이 안될때 (5) | 2013.06.20 |
Mysql ssl 설정 & JDBC 로 SSL 통신 (5) | 2013.04.23 |
Windows Command 창에서 프로그램 종료 시 (2) | 2013.03.26 |
베가S5 무선링크 단절 팝업창 안뜨게 하기 (3) | 2013.01.03 |