나의 마음을 ctrl+c,너의 가슴에 ctrl+v

eclipse 로 프로젝트 Run on Server 시.
Cannot create a server using the selected type
메시지와 함께 server type 선택이 불가능한 경우가 있다.

이 경우, workspace setting 파일 중, 아래 두 파일을 삭제 후, eclipse 를 재시작하면 해결이 된다. (Tomcat 의 경우)

D:\work\projects\test\workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings
1. org.eclipse.jst.server.tomcat.core.prefs
2. org.eclipse.wst.server.core.prefs

CMD Copy string
CD D:\work\projects\test
DEL workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jst.server.tomcat.core.prefs
DEL workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.wst.server.core.prefs

참고 image capture

 

oracle 로 insert 문이 있는 sql 파일을 실행시, DATE 타입 필드로 인해 insert 문이 실행실패가 될 경우가 있다.

ORA-01830: date format picture ends before converting entire input string

위의 메시지로 인한 오류라면, 해당 데이터베이스의 DATE SESSION 타입을 SQL 문에 맞게 변경해준다.

example

INSERT INTO TESTC (USER_ID, RGST_DT) VALUES ('webmaster', '2012-07-22 17:22:56');

/* 이 경우, 아래와 같이 일치하는 날짜형으로 변경 */
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

/* 확인 */
select sysdate from dual;

이 후에는 날짜타입으로 인한 sql insert 는 올바르게 실행된다.
위의 변경방법은 ALTER SESSION SET 으로 유추할수 있듯이 접혹한 SESSION 내에서만 적용된다.

기본셋팅의 변경은 database 서버의 기본값을 변경해야 한다. ( .profile 변경 )

web.xml filter

java/coding2012. 7. 11. 18:35

1. filter description

web.xml 에 설정된 filter 는 url 호출시, 공통처리 업무를 담당 한다.
web.xml 에서 설정하며,
당연하겠지만 framework 의 servlet Intercept (예를들면 Spring 의 HandlerInterceptorAdapter ) 이전에 실행된다.

example

<?xml version="1.0" encoding="UTF-8"?>
.
. 세부설정 상략

    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
.
. 세부설정 하략
.
</web-app> 


2. filter 중 UrlRewriteFilter
    - 기능 : 특정 Url로 유입시(from), 지정한 Url(to) 로 재호출을 해준다.
   - 설정 : UrlReWriteFilter 를 설정하면, /WEB-INF/urlrewrite.xml 파일이 생성된다. 이 파일에서 설정

example

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<urlrewrite>
 <rule>
  <desc>시스템 이름으로 들어오는 URL에 대해 메인 페이지로 이동함</desc>
  <from>^/([a-zA-Z0-9]+)$</from>
  <to type="redirect">%{context-path}/$1/common/main/loginForm.do</to>
  </rule>
</urlrewrite>

 $1 은 유입되는 주소를 의미한다. (세부설정은 내용이 다양해서 별도 post 로)


3. customer filter 작성

<filter>
    <filter-name>CustomerFilter</filter-name>
    <filter-class>test.cmmn.filter.TestFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CustomerFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>

모든 *.do url로 유입시, test.cmmn.filter.TestFilter 를 거친다.

기본적으로 TestFileter 는 Filter interface를 implements 한다.

Filter interface 는
    public void init(FilterConfig filterConfig) throws ServletException;
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain ) throws IOException,     ServletException;
    public void destroy();
의 메소드로 구성되어 있다.

implements 하여 해당메소드를 구현하면 된다.
init - filter 호출시, 설정
doFilter - filter에서 처리해야할 작업처리
destory - filter 종료시 호출

Sample java code

package *******.cmmn.managed;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/** 
 * @Class Name    : AdmFilter
 * @Description    : 관리자모드 필터
 * @author    : ******
 * @create     : 2014. 05. 12.
 */
public final class AdmFilter implements Filter {

 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void destroy() {
  // TODO Auto-generated method stub
  
 }
}

add note : 기본적인 filter 수행에 dispatcher, chain 등 세부적으로 설정 및 확장하여, 활용할 수 있다.
(검색어 : [filter,dispatcher] [filter,chain] )

'java > coding' 카테고리의 다른 글

jQuery plugin 정리 (+ bootstrap color picker 포함)  (0) 2014.05.15
[도움말] jQuery 1.4 chm  (0) 2013.10.24
taglib (el) 명령어 사전 (정리진행중)  (0) 2012.12.26