keytool.exe -genkey -alias juheon -keyalg RSA -keypass 1234qwer -storepass 1234qwer -keystore juheon.jks keytool.exe -export -alias juheon -storepass 1234qwer -file juheon.cer -keystore juheon.jks keytool.exe -importkeystore -srckeystore juheon.jks -destkeystore juheon.key.p12 -deststoretype PKCS12 D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert D:\Java\32bit\jdk1.5.0_22\bin\keytool.exe -import -alias tsasample -keystore D:\Java\32bit\jdk1.5.0_22\jre\lib\security\cacert -file D:\workspace\Servers\tsa-server-web-config\tomcat.cer keytool -import -alias somansa -keystore C:\Program Files\Java\jdk1.8.0_102\jre\lib\security\cacert -file c:\somansa.cer #인증서 생성 keytool -genkey -alias keyAlias -keyalg RSA -keypass changeit -storepass changeit –validity 9999 -keystore keystore.jks keytool -export -alias keyAlias -storepass changeit -file server.cer -keystore keystore.jks keytool -import -v -trustcacerts -alias keyAlias -file server.cer ...
context.xml 파일을 사용하여 JNDI 등록 사용하는 방법
1. server.xml 파일에 JNDI 등록
server.xml 파일의 GlobalNamingResources노드에 Resource를 등록하고 Host 노드 하위 Context 노드에 ResourceLink노드를 등록하여 많이 사용했다. tomcat 5.5 이전 방식이다.
server.xml
2. context.xml 파일 분리
위 방식처럼 server.xml 파일에 모든 context의 정보를 추가하는 방식은 서버에 대한 제어권이 없으면 정보를 변경하기 힘들다. Tomcat 5.5? 이후부터는 context.xml 파일을 분리하여 webapplication에서 별도로 자원을 등록 사용할 수있도록 제공한다.
META-INF/context.xml 파일을 위치시키면 Tomcat은 구동시 META-INF 폴더의 context.xml 파일을 찾아 존재할 경우 server.xml 파일의 Host 하위 노드로 추가하여 구동한다.
context.xml 파일의 Context 노드 하위에 resource를 직접 등록하거나 server.xml 파일의 GlobalNamingResources노드에 resource가 등록되어 있다면 ResourceLink를 등록해서 사용하면 된다.
context.xml
tablib 사용하기 위해서는 taglibs-standard-impl-1.2.5.jar, taglibs-standard-spec-1.2.5.jar 파일이 있어야 한다. 다운로드 사이트
1. server.xml 파일에 JNDI 등록
server.xml 파일의 GlobalNamingResources노드에 Resource를 등록하고 Host 노드 하위 Context 노드에 ResourceLink노드를 등록하여 많이 사용했다. tomcat 5.5 이전 방식이다.
server.xml
... <globalnamingresources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <resource auth="Container" driverclassname="oracle.jdbc.OracleDriver" maxidle="4" maxtotal="8" name="global.db" password="password" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:xe" username="user"> </resource> </globalnamingresources> ...
2. context.xml 파일 분리
위 방식처럼 server.xml 파일에 모든 context의 정보를 추가하는 방식은 서버에 대한 제어권이 없으면 정보를 변경하기 힘들다. Tomcat 5.5? 이후부터는 context.xml 파일을 분리하여 webapplication에서 별도로 자원을 등록 사용할 수있도록 제공한다.
META-INF/context.xml 파일을 위치시키면 Tomcat은 구동시 META-INF 폴더의 context.xml 파일을 찾아 존재할 경우 server.xml 파일의 Host 하위 노드로 추가하여 구동한다.
context.xml 파일의 Context 노드 하위에 resource를 직접 등록하거나 server.xml 파일의 GlobalNamingResources노드에 resource가 등록되어 있다면 ResourceLink를 등록해서 사용하면 된다.
context.xml
<?xml version="1.0" encoding="UTF-8"?> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource> <Resource removeAbandonedOnBorrow="true" removeAbandonedTimeout="10" logAbandoned="true" name="db" auth="Container" type="javax.sql.DataSource" username="user" password="password" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:xe" maxTotal="100" maxIdle="30" maxWaitMillis="10000" /> <!-- <ResourceLink global="db" name="db" type="javax.sql.DataSource" /> --> </Context>
3. web.xml 파일 설정
Tomcat 공식사이트의 document에 따르면 context 추가 후 web.xml 에 resource-ref를 등록하라고 되어있지만 등록하지 않아도 룩업한다.
web.xml
... <resource-ref> <description>DB Connection</description> <res-ref-name>db</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
4. JNDI 사용
tablib 사용하기 위해서는 taglibs-standard-impl-1.2.5.jar, taglibs-standard-spec-1.2.5.jar 파일이 있어야 한다. 다운로드 사이트
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <sql:query maxRows="10" var="rs" dataSource="db"> select * from user_master </sql:query> <html> <head> <title>DB Test</title> </head> <body> <h2>Results</h2> <c:forEach var="row" items="${rs.rows}"> ID ${row.id}<br/> NAME ${row.name}<br/> </c:forEach> </body> </html>
댓글
댓글 쓰기