Tomcat 한글(다국어) request encoding 설정 (URIEncoding)
- Server.xml 을 아래와 같이 수정
<Server port="8005" shutdown="SHUTDOWN">
<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
<Listener className="org.apache.catalina.core.JasperListener"/>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<GlobalNamingResources>
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector URIEncoding="EUC-KR" connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
<Engine defaultHost="localhost" name="Catalina">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
<Context docBase="cdp" path="/" reloadable="true" source="org.eclipse.jst.jee.server:cdp"/></Host>
</Engine>
</Service>
</Server>
eclipse Run on Server error : Cannot create a server using the selected type
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
'java > eclipse' 카테고리의 다른 글
Tomcat - eclipse JNDI 설정 (Datasource,GlobalNamingResources) (0) | 2013.01.09 |
---|---|
eclipse 재차 classNotFound 로 재기동을 해야할때 (0) | 2012.12.14 |
web.xml filter
1. filter description
web.xml 에 설정된 filter 는 url 호출시, 공통처리 업무를 담당 한다.
web.xml 에서 설정하며,
당연하겠지만 framework 의 servlet Intercept (예를들면 Spring 의 HandlerInterceptorAdapter ) 이전에 실행된다.
example
.
. 세부설정 상략
.
<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
<!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>
3. customer 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 |
Spring Controller intercepter By 3.0 , annotation
env : Spring3.0, annotation 사용
*Controller 단 모든 method 에서 권한확인 등의 중복작업을 일괄적으로 할수 있다.
필요1. intercepterHandler 구현
필요2. servlet context bean 등록
사용을 위해, 구현된 Controller 에 HandlerInterceptorAdapter 를 extend 한다.
필요1. intercepter controller 작성... 아래의 구성형태로...
import ...
public class ExampleHandler extends HandlerInterceptorAdapter {
@Override
public boolean preHandler(HttpServletRequest request,HttpServletResponse response, Object handler) {
/* preHandler Controller 유입전 실행됨. */
boolean rtn = false;
// 검증하여 false 인경우는 가급적 Exception 처리
return rtn
}
}
* preHandler - Controller 진입전
* postHandler - view forward 전
* afterCompletion - view forward 및 로드 후
필요2. context 에 등록
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="ExampleHandler"/> </list>
</property>
<property name="order" value="1" />
</bean>
<bean id="ExampleHandler " class="xxx.xxx.xxx.ExampleHandler" />
'java > framework' 카테고리의 다른 글
Spring3 properites call (0) | 2016.02.04 |
---|---|
jsp 에서 Spring framework 연동 (0) | 2013.07.19 |