2011년 9월 29일 목요일
[Jsp] 커넥션 풀 사용 준비 / JOCL 설정 파일
1. 아래를 참조해서 필요 라이브러리를 설치한다.
http://soatofedora.blogspot.com/2011/09/linux-dbcp-pool-collections.html
2. 아래파일을 WEB-INF->classes폴더안에넣는다.
JOCL파일 샘플
<object class = "org.apache.commons.dbcp.PoolableConnectionFactory"
xmlns="http://apache.org/xml/xmlns/jakarta/commons/jocl">
<object class="org.apache.commons.dbcp.DriverManagerConnectionFactory">
<string value="jdbc:mysql://localhost:3306/testserver?autoReconnect=true"/>
<string value="root"/>
<string value="12345"/>
</object>
<object class="org.apache.commons.pool.impl.GenericObjectPool">
<object class="org.apache.commons.pool.PoolableObjectFactory" null="true" />
<int value="80" /> <!-- max active -->
<byte value="1" /> <!-- when exhausted action, 0 = fail, 1 = block, 2 = grow -->
<long value="2000" /> <!-- max wait -->
<int value="10" /> <!-- max idle -->
<boolean value="true" /> <!-- test on borrow -->
<boolean value="true" /> <!-- test on return -->
<long value="10000" /> <!-- time between eviction runs -->
<int value="5" /> <!-- number of connections to test per eviction run -->
<long value="5000" /> <!-- min evictable idle time -->
<boolean value="true" /> <!-- test while idle -->
</object>
<object class="org.apache.commons.pool.impl.StackKeyedObjectPoolFactory">
<int value="10" />
</object>
<string value="select now()" /> <!-- validation query -->
<boolean value="false" /> <!-- default read only -->
<boolean value="true" /><!-- default auto commit -->
</object>
2011년 9월 18일 일요일
[Jsp] 클라이언트의 IP주소 가져오는 메서드
ServletRequest 클라이언트의 IP주소 가져오는 메서드
String clientAddr = request.getRemoteAddr();
String clientAddr = request.getRemoteAddr();
[Jsp] Log 저장
로그파일 경로를 초기화 파리미터값에서 가져오기
String filename = config.getInitParameter("FILE_NAME");
초기화 파라미터값은 web.xml에 등록해놓는다
<init-param>
<param-name>FILE_NAME</param-name>
<param-value>C:\\logs\\myfilter.log</param-value>
</init-param>
아...돈벌고싶다..
좋은하루~
String filename = config.getInitParameter("FILE_NAME");
초기화 파라미터값은 web.xml에 등록해놓는다
<init-param>
<param-name>FILE_NAME</param-name>
<param-value>C:\\logs\\myfilter.log</param-value>
</init-param>
아...돈벌고싶다..
좋은하루~
2011년 9월 16일 금요일
[Jsp] SimpleTagSupport 상속 간단 클래스
package tool;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class StarLineTag extends SimpleTagSupport{
public void doTag() throws JspException, IOException{
JspContext context = getJspContext();
JspWriter out = context.getOut();
out.println("*****************************************<BR>");
return;
}
}
오타가 있을 수 있다.-_-;
컴파일전에는
톰캣의 lib폴더에 있는 jsp-api.jar파일을 Java/JDK(version)/jre/lib/ext에 복사해두자.
컴파일쌔리고
TLD파일에 클래스 등록하고
web.xml에 tld등록하고
고고고.
좋은하루~
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class StarLineTag extends SimpleTagSupport{
public void doTag() throws JspException, IOException{
JspContext context = getJspContext();
JspWriter out = context.getOut();
out.println("*****************************************<BR>");
return;
}
}
오타가 있을 수 있다.-_-;
컴파일전에는
톰캣의 lib폴더에 있는 jsp-api.jar파일을 Java/JDK(version)/jre/lib/ext에 복사해두자.
컴파일쌔리고
TLD파일에 클래스 등록하고
web.xml에 tld등록하고
고고고.
좋은하루~
라벨:
커스텀 액션
위치:
〒530-8201, 일본
[Jsp] 태그 파일 만드는 법
1. 만든 파일을 WEB-INF폴더아래 tags라는 서브디렉토리에 저장
2. 파일이름은 (커스텀액션명).tag 의 형식으로 한다.
3. 사용할 JSP파일에 다음 라인을 추가
-> <%@page contentType....................................>
<%@taglib prefix="util" tagdir="/WEB-INF/tags" %>
<HTML>
....
<util:커스텀액션명/>
2. 파일이름은 (커스텀액션명).tag 의 형식으로 한다.
3. 사용할 JSP파일에 다음 라인을 추가
-> <%@page contentType....................................>
<%@taglib prefix="util" tagdir="/WEB-INF/tags" %>
<HTML>
....
<util:커스텀액션명/>
2011년 9월 15일 목요일
[Jsp] 태그 파일에서 사용 가능한 지시자
- tag지시자:웹 컨테이너가 태그 파일을 처리할 때 필요한 정보를 기술
- include지시자:다른 태그 파일을 포함
- taglib지시자:태그파일에서 사용할 다른 커스텀 액션의 태그 라이브러리에 대한 정보를 기술
- attribute지시자:커스텀액션의 애트리뷰트에 대한 정보를 기술
- variable지시자:커스텀액션의 변수에 대한 정보를 기술
[Jsp] 태그 클래스 설치 순서
1. 태그 클래스의 소스 코드를 작성한다.
2. 작성한 소스 코드를 컴파일 한다.
3. 컴파일 결과를 WEB-INF/classes 폴더 안에 넣는다
4. 태그 클래스의 정보를 TLD파일에 등록한다.
-><short-name>tld파일이름</short-name>
<tag>
<name>커스텀액션이름</name>
<tag-class>태그클래스이름</tag-class>
<body-content>empty</body-content> //본체의 형태
</tag>
5. TLD 파일은 WEB-INF폴더 및이나 그아래의 서브디렉토리에 저장
5. TLD파일을 web.xml파일에 등록한다.
-><taglib>
<taglib-uri>/taglibs/tools.tld<taglib-uri>
<taglib-location>/WEB-INF/tlds/tools.tld</taglib-location>
</taglib>
2. 작성한 소스 코드를 컴파일 한다.
3. 컴파일 결과를 WEB-INF/classes 폴더 안에 넣는다
4. 태그 클래스의 정보를 TLD파일에 등록한다.
-><short-name>tld파일이름</short-name>
<tag>
<name>커스텀액션이름</name>
<tag-class>태그클래스이름</tag-class>
<body-content>empty</body-content> //본체의 형태
</tag>
5. TLD 파일은 WEB-INF폴더 및이나 그아래의 서브디렉토리에 저장
5. TLD파일을 web.xml파일에 등록한다.
-><taglib>
<taglib-uri>/taglibs/tools.tld<taglib-uri>
<taglib-location>/WEB-INF/tlds/tools.tld</taglib-location>
</taglib>
[Jsp] JSTL 포매팅 라이브러리
커스텀액션 사용방법
1.<fmt:formatDate> 액션
<fmt:formatDate value="${date}" type="time" />
-> 오후 1:11:11
<fmt:formatDate value="${date}" type="date" dateStylet="long" />
-> 2011년 8월 15일
<fmt:formatDate value="${date}" type="date" pattern="YYYY/MM/DD" />
-> 2011/08/15
p454
2. <fmt:formatNumber> 액션
<fmt:formatNumber value="1234500" groupingUsed="true" />
-> 1,234,500
<fmt:formatNumber value="10.5" pattern="#.00" />
->10.50
3. <fmt:setLocale> 액션
<fmt:setLocale value="ko_kr" />
4. <fmt:timeZone> 액션
<fmt:timeZone value="America/New_York" />
타임존 얻기
-> String arr[] = TimeZone.getAvailablesIDs();
[Jsp] JSTL 코어라이브러리
커스텀액션 사용방법
1.<c:set>액션
<c:set var="num" value="100" scope="request" />
......
......
${num}
2.<c:remove>액션
<c:remove var="num" scope="request" />
3. <c:if>액션
<c:if test="${param.NUM1 - param.NUM2 >= 0}" >
....
</c:if>
<c:if test="true"> 요건 무조건 참!!
무조건 거짓은 아주 깊게 심오하게 생각, 추측하면 알수 있을 듯..
4. <c:choose> 액션
<c:choose>
<c:when test= "${param.NUM == 0 }">
....
</c:when>
....
<c:otherwise>
.....
</c:otherwise>
</c:choose>
5. <c:forEach> 액션
<c:forEach var="cnt" begin="1" end="10" step="2">
<FONT size=${cnt} > 소녀시대짱! </FONT><BR>
</c:forEach>
<c:forEach var="str" items="${배열이름}">
${str}
</c:forEach>
6. <c:forTokens> 액션
<c:forTokens var="love" items="태연*유리/제시카-수지?" delims="*/-?">
${love} <br>
</c:forTokens>
7. <c:catch> 액션
<c:catch var="e">
<% int result = num1/ num2; % >
result = <%=result%>
</c catch>
<c:if test="${e!=null}">
error = ${e.message}
</c:if>
8. <c:redirect> 액션
<c:redirect url="http://soato387.jsp">
<c:param name = "NUM1" value="5" />
</c:redirect>
9. <c:import> 액션
<c:import url="http://soato387.jsp">
<c:param name = "NUM1" value="5" />
</c:import>
10.<c:out> 액션
<c:out value="<FONT size 7> 소녀시대</FONT> "/>
<c:out value="<FONT size 7> 소녀시대</FONT> " escapeXml = "false/>
차이점은?
1.<c:set>액션
<c:set var="num" value="100" scope="request" />
......
......
${num}
2.<c:remove>액션
<c:remove var="num" scope="request" />
3. <c:if>액션
<c:if test="${param.NUM1 - param.NUM2 >= 0}" >
....
</c:if>
<c:if test="true"> 요건 무조건 참!!
무조건 거짓은 아주 깊게 심오하게 생각, 추측하면 알수 있을 듯..
4. <c:choose> 액션
<c:choose>
<c:when test= "${param.NUM == 0 }">
....
</c:when>
....
<c:otherwise>
.....
</c:otherwise>
</c:choose>
5. <c:forEach> 액션
<c:forEach var="cnt" begin="1" end="10" step="2">
<FONT size=${cnt} > 소녀시대짱! </FONT><BR>
</c:forEach>
<c:forEach var="str" items="${배열이름}">
${str}
</c:forEach>
6. <c:forTokens> 액션
<c:forTokens var="love" items="태연*유리/제시카-수지?" delims="*/-?">
${love} <br>
</c:forTokens>
7. <c:catch> 액션
<c:catch var="e">
<% int result = num1/ num2; % >
result = <%=result%>
</c catch>
<c:if test="${e!=null}">
error = ${e.message}
</c:if>
8. <c:redirect> 액션
<c:redirect url="http://soato387.jsp">
<c:param name = "NUM1" value="5" />
</c:redirect>
9. <c:import> 액션
<c:import url="http://soato387.jsp">
<c:param name = "NUM1" value="5" />
</c:import>
10.<c:out> 액션
<c:out value="<FONT size 7> 소녀시대</FONT> "/>
<c:out value="<FONT size 7> 소녀시대</FONT> " escapeXml = "false/>
차이점은?
[JSP] JSTL 라이브러리
코어 : 접두어 c
-> 일반 프로그래밍 언어에서 제공하는 것과 유사한 변수 선언,
실행흐름의 제어기능을 제공하고,
다른 JSP페이지로 제어를 이동하는 기능을 제공
URI = "http://java.sun.com/jsp/jstl/core"
포매팅 : 접두어 fmt
-> 숫자, 날짜, 시간을 포매팅하는 기능과 국제화, 다국어 지원 기능을 지원
URI = "http://java.sun.com/jsp/jstl/fmt"
데이터베이스 : 접두어 sql
-> 데이터베이스의 데이터를 입력/수정/조회/삭제 기능
URI = "http://java.sun.com/jsp/jstl/sql"
XML처리 : 접두어 x
-> XML문서를 처리할 때 필요한 기능을 제공
URI = "http://java.sun.com/jsp/jstl/xml"
함수 : 접두어 fn
-> 문자열을 처리하는 함수를 제공
URI = "http://java.sun.com/jsp/jstl/functions"
사용 예 )
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-> 일반 프로그래밍 언어에서 제공하는 것과 유사한 변수 선언,
실행흐름의 제어기능을 제공하고,
다른 JSP페이지로 제어를 이동하는 기능을 제공
URI = "http://java.sun.com/jsp/jstl/core"
포매팅 : 접두어 fmt
-> 숫자, 날짜, 시간을 포매팅하는 기능과 국제화, 다국어 지원 기능을 지원
URI = "http://java.sun.com/jsp/jstl/fmt"
데이터베이스 : 접두어 sql
-> 데이터베이스의 데이터를 입력/수정/조회/삭제 기능
URI = "http://java.sun.com/jsp/jstl/sql"
XML처리 : 접두어 x
-> XML문서를 처리할 때 필요한 기능을 제공
URI = "http://java.sun.com/jsp/jstl/xml"
함수 : 접두어 fn
-> 문자열을 처리하는 함수를 제공
URI = "http://java.sun.com/jsp/jstl/functions"
사용 예 )
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
피드 구독하기:
글 (Atom)