JBoss에서 HTTPS를 사용하기 위해서는 몇가지 절차가 필요하다. 여기서는 클라이언트가 서버에 대한 인증을 필요로 하는 경우만 살펴본다. 상호 인증은 다음 기회에 살펴보겠다.

우선 인증서를 발급해야 한다. 발급하는 방법은 스스로 만들거나 베리사인과 같은 공인 인증기관에서 구입한다. 사설 인증서는 HTTPS로 접속할때 경고가 뜨지만 테스트에는 아무 문제가 없다. 윈도우 커맨드 창에서 다음 명령어를 실행하면 인증서를 만들게 된다. 
C:\>keytool -genkey -alias server -keyalg RSA -keystore server.keystore -validity 3650
암호, 조직 정보, 국가 코드 등 추가 정보를 입력하면 server.keystore라는 파일이 생성된다. 이 파일을 서버의 적당한 위치로 복사한다. 여기에서는 "${jboss.home.dir}/server/all/conf"으로 복사한다.

그리고 Tomcat의 Connector 설정을 다음과 같이 고친다.
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" 
keystorePass="server" 
keystoreFile="${jboss.home.dir}/server/all/conf/server.keystore"  
URIEncoding="utf-8" />
keystorePass는 인증서를 만들때 입력했던 암호이고, keystoreFile은 인증서의 경로이다.

이제 https://localhost:8443/로 접속하면 된다.

[출처] JBoss - HTTPS(SSL) 지원 |작성자 파스스


Posted by 나랑살자
,

How To Enable “Click To Play” For Plug-ins And Flash In Google Chrome

Step – 1 : First, open a new Chrome window and enter “about:flags” into the URL bar and hit “Return”.

Step – 2 : Now, scroll down until you see “Click To Play” and enable the feature.

Step – 3 : Then, relaunch Chrome.

Enable "Click To Play" for Plug-ins and Flash in Google Chrome web browser (1)

Step – 4 : After that, enter Chrome Preferences either through the Chrome menu or by going to “chrome://settings” in the URL bar.

Step – 5 : Now, click on “Under The Hood” and after that click on “Content Settings”.

Step – 6 : Finally, alongside “Plug-ins”, you’ll see a newly enabled “Click To Play” option, choose that.

Posted by 나랑살자
,

[NoSQL] 계보

개발/NoSQL 2011. 12. 13. 17:43

Google의 BigTable에서 시작된 것들
- HBase (Java)
- HyperTable (C++)
주로 대규모 분산처리 특히 Map&Reduce에 알맞고, 동시 대규모 클라이언트를 지원하는데 뛰어 나다

Amazon Dynamo 로 부터 시작된 것들
- Voldemork
- Riak

FaceBook에서 시작된것
- Cassandra
Write에 Optimize되었으며, Read는 Write에 비해 느림. 대규모 데이타 저장에 최적화됨

그밖에 Mongo 계열
-MongoDB 쉽다. 그리고 AutoSharding과 Balacing 제공. 10gen에서 Commercial Support
-CouchDB : MongoDB와 특성은 유사하나 내부 기술 구조는 다름






 
Posted by 나랑살자
,
1. /Applications/Image Capture 실행
2. Connection this xxx opens 에서 application 변경
Posted by 나랑살자
,

VMware Fusion에서 사용하는 한글 키보드 변환

command 한글 전환의 경우 VMware Fusion unit보기에서 한글 못함

shift+space 경우 VMware Fusion에서 한글 처리 용이함


Posted by 나랑살자
,

To suppress the warning message:

  1. Open the virtual machine settings file (.vmx) for editing. Fusion users, for more information, see Editing the .vmx file for your Fusion virtual machine (1014782).
  2. Add this line to the file:
    buslogic.noDriver = "FALSE"
  3. Save the file.

Posted by 나랑살자
,

HTTP1.0-1.1 Protocol Massage & Header 구성요소
 


Massages

Header

   

생략여부

HTTP1.0

HTTP1.1

상용Header

General-Header

Date

현재시간

ex)Date: Tue, 15 Nov 1994 08:12:31 GMT

 

 

 

Pragma

캐시제어

ex)Pragma: no-cache

×

 

 

 

Cache-Control

케시 여부·업데이트시간·내용·지움등

×

 

 

 

Connection

연결끊기-http1.1 연결을 지속

ex)Connection: close

×

 

 

 

Transfer-Encoding

[entity-body] 압축방식

×

 

 

 

Upgrade

프로토콜 변경시

ex)Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11

×

 

 

 

Via

중계서버(프록시,게이트웨이등) 지원프로토이름·버전·호스트명

×

 

 

Entity-Header

Allow

사용이 허용되는 메소드열거

ex)Allow: GET ,HEAD ,OPTIONS ,TRACE

 

 

 

Content-Encoding

[entity-body] 리소스 압축방식(gzip, compress, deflate..)

ex)Content-Encoding: gzip

 

 

 

Content-Length

[entity-body] 리소스 크기(바이트 단위)

ex)Content-Length: 3495

 ×2

 

 

Content-Type

[entity-body] 미디어 타입

ex)Content-Type: text/html

 

 

 

expires

자원의 만기 날짜(케시데이터 업데이트요구)

ex)Expires: Thu, 01 Dec 1994 16:00:00 GMT

 

 

 

Last-Modified

가장 최근에 수정된 날짜

ex)Last-Modified: Thu, 01 Dec 1994 16:00:00 GMT

 

 

 

Content-Base

[entity-body]리소스 base-URL

ex)Content-Base: http://www.isoft.co.kr/

×

 

 

 

Content-Language

[entity-body]언어정보

ex)Content-Language: da

×

 

 

 

Content-Location

[entity-body] URL

×

 ×3

 

 

Content-MD5

전송시 [entity-body] 오류발생검사-[entity-body]일부를 요약1(MD5 RFC1864)

×

 

 

 

Content-Range

[entity-body]일부분 전송시의 해당부분(이어받기등에 사용)

ex)Content-Range: bytes 4150-5140/5140

×

 

 

 

ETag

케시 업데이트 정보를 위한 임의의 식별숫자4

ex)ETag: "0-556-343b9e36"

×

 


1 (MD5 RFC1864)-vase64 인코딩된 내용이 헤더값으로 존재한다.

2 requst-line method post 경우 생략 불가

3 Content-Base 없는 경우 생략이 불가.

4 Entity-Tag 라고 불리며, If-Match·If-None-Match·If-Range에서 사용

 


Massages

Header

   

생략여부

HTTP1.0

HTTP1.1

Request

Requst-Line

Method5

GET,POST,HEAD


OPTIONS,PUT,DELETE,TRACE

×

 

 

 

Request-URI

요청 데이터의 절대 주소나 상대주소.

ex)http://www.isoft.co.kt/index.html or /test/helloworld.html

 

 

 

HTTP-Version

HTTP" + 0.91.1(해당 프로토콜)

 

 

Request-Header

Authorization

사용자 인증정보 - 사용자 ID 암호가 함께 Base64 인코딩※6

ex)Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

 

 

 

From

자원의 생성자나 웹마스터의 전자우편 주소

ex)From: psycho@isoft.co.kr

 

 

 

If-Modified-Since

GET 사용시-헤더 필드에 지정된 날짜보다 나중 자원만 전달(케시일자검색)

ex)If-Modified-Since: Tue, 15 Nov 1994 12:45:26 GMT

 

 

 

Refer

한페이지에서 다른페이지를 요청할 (링크시) 이전 페이지 주소제공

ex)Referer: http://www.w3.org/hypertext/DataSources/Overview.html

 

 

 

User Agenter

browser 정보

ex)User-Agent: MyWebBroswer/0.5

 

 

 

Accept

클라이언트의 사용가능 미디어타입

ex)Accept: text/*, text/html, text/html;level=1, */*

×

 

 

(Content

 Neogotation)

Accept-Charset

클라이언트에서 사용할 있는 문자 집합(생략시 모두인식)

ex)Accepr: iso-8859-1, unicode-1-1

×

 

 

(Content

 Neogotation)

Accept-Encoding

클라이언트에서 제공되는 인코딩 방법(압축)

ex)Accept-Encoding: compress, gzip

×

 

 

 

Accept-Language

클라이언트가 인식할 있는 언어(우선순위가능)

ex)Accept-Language: da, en-gb;q=0.8, en;q=0.7(독일어, 영국영어, 영어)

×

 

 

 

Host

서버의 기본URL(하나의 IP주소에 여러개의 이름을 가진 멀티 서버를 지원)

ex)www.w3.org

×

×

 

 

If-Match

ETag 비교-Method수행-(PUT 메소드:해당header무시),다르면 402에러발생

ex)If-Match: "0-556-343b9e36"

×

 

 

 

If-None-Match

ETag 비교, 다를때-Method수행-(If-Match 반대),같을 에러

ex)If-None-Match: "0-556-343b9e36","0-1e4-34367116"

×

 

 

 

If-Range

클라이언트 캐시 정보를 업데이트 정보 (ETag or Date 비교)

×

 

 

 

If-Unmodified-Since

헤더값에 지정된 날자로부터 수정이 없는경우 Method 수행

ex) If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT

×

 

 

 

Max-Forwards

메시지가 거쳐 갈수 있는 최대 Proxy 개수를 지정

ex)Max-Forwards: 7

×

 

 

 

Proxy-Authorization

비공개 프록시 서버 유저인증을 위한 코드

×

 

 

 

Range

자원의 일부분만 받을때(이어받기기능) 받을범위 지정

ex)bytes=0-499            : <- 0~499byte 얻고자 .

×



5 메소드에 대한 설명 : ·GET    - 요청한 URL 자료를 전송 (실행화일일 경우 실행 결과를 전송)

                           ·POST   - [Entity-body] 해당 서버에 수송(CGI활용, Entity-body 없거나, Content-Length 없으면 에러..(400에러))

                           ·Head   - 응답메시지는 [Entity-body]없이 전송됨

                              ·OPTIONS-자원과 관련된 필요 사항 결정 서버 기능검색

                           ·PUT    -메시지 바디 부분의 데이터를 지정한 요구 URI이름으로 저장한다.(ftp PUT 동일)

                           ·DELETE - 서버에서 요구 URI 지정된 자원을 지울 있다.

                           ·TRACE  - 요구 메시지가 최종 수신처에 도달 경로를 기록하는 루프백(loop back) 검사용

                                         (클라이언트 요구 메시지가 거쳐가는 프록시나 게이트웨이의 중간 경로부터 최종 수신 서버까지의 경로를 알아낼 사용,

                                       Max-Forwards 헤드 필드에는 중간에 거쳐갈 프록시나 게이트웨이 경로의 최대수를 지정)

6 ID :'Aladdin', PW : 'open sesame' 경우 'Aladin:open sesame' Base64 인코딩한 코드는 "QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

    주의 : Base64 자체가 공개된 인코딩이므로 보안상 문제가 많다.

 


Massages

Header

   

생략여부

HTTP1.0

HTTP1.1

Response

Status-Line

HTTP-Version

HTTP" + 0.91.1(해당 프로토콜)

 

 

 

Status-Code

수신상태코드-(4Page 표참조.)

 

 

 

Respon-Phrase

수신 상태코드에 대한 간략한 설명-(4Page 표참조.)

 

 

Response-Header

Location

요구한 정보 실제 위치. 옮겨지거나 다를경우-정보주소가 실제 위치 정보.

(redirection,forwording , 절대주소만 가능.)

 

 

 

Server

서버 프로그램의 이름과 버전 정보

ex)Server: Apache/1.3a1

×

 

 

 

WWW-Authenticate   

사용자 인증이 필요한 자원을 요구시, 필요데이터와 서버가 제공하는 인증 방식

ex)WWW-Authenticate: Basic realm="아이 소프트"

×

 

 

 

Age

요구후 서버(origin Server)에서 응답생성하지까지의 시간(초단위)

×

 

 

 

Proxy-Authenticate

서버가 프록시 서버일 경우 유저 인증을 요구하기 위한 헤더이다.

×

 

 

 

Public

서버에서 지원 가능한 Method 리스트(제한의 의미는없음)

ex)Public: OPTIONS, MGET, MHEAD, GET, HEAD

×

 

 

 

Retry-After

503 에러시 -몇초(시간)후에 다시 요구 메시지를 보내라는 정보

ex)Retry-After: Fri, 31 Dec 1999 23:59:59 GMT(Time)

   Retry-After: 120   (Second)

×

 

 

 

Warning

상태코드와 응답 구문에 추가적인 경고

×

 

 

 

Vary

 

×

 


  

 

<Status-Code Header 수신상태 >


1xx: Informational -

 요구메시지를 받은

 연결 작업할 .

2xx: Success -

 요구메시지를 제대로 받았을 .

3xx: Redirection -

 요구메시지를 수행하기 위해

 다른 작업이 필요할 .

4xx: Client Error -

 요구 메시지의 형식이 틀리거나

 빠진 부분이 있을 .

5xx: Server Error -

서버에 문제가 있을 .

100 Continue

200 OK

 성공처리

300 Multiple Choices

 (실제 발생하지 않음)

400 Bad Request

 요구가 올바르지 않음

500 Internal Server Error

 예기치 못한 서버처리오류

101 Switching Protocols

201 Created

 요구에따라 새로운자원생성(PUT)

301 Moved Permanently

 URL 확정적으로 옮겨짐

401 Unauthorized

 사용자 인증이 필요

501 Not Implemented

 요구에 대한 지원불가

 (transfer-Encoding)

 

202 Accepted

 요구를 이해하였으며 진행중

302 Moved Temporarily

 URL 임시적으로 옮겨짐

402 Payment Require

502 Bad Gateway

 게이트웨이·프락시의 응답오류

 

203 Non-Authoritative Information

303 See Other

403 Forbidden

 요구는 이해하나 수행거절(PUT)

503 Service Unavailable

 서버부하로 응답불가

 

204 No Content

 요구자료에 정보가 없음(empty)

304 Not Modified(If-Modified-Since)

 수정날짜에 수정되지 않음

404 Not Found

 요구한 파일이 없음

504 Gateway Time-out

 

205 Reser Content

305 Use Proxy

405 Method Not Allowed

 허락된 메소드가 아님

505 HTTP Version not supported

 (요구를 무시할 있음..??)

 

206 Partial Content

 

406 Not Acceptable

 

 

 

 

407 Proxy Authentication Required

 

 

 

 

408 Request Time-out

 

 

 

 

409 Conflict

 

 

 

 

410 Gone

 

 

 

 

411 Length Required

 

 

 

 

412 Precondition Failed

 

 

 

 

413 Request Entity Too Large

 

 

 

 

414 Request-URI Too Large

 

 

 

 

415 Unsupported Media Type

 

Posted by 나랑살자
,

SEVERE: Error listenerStart

Occurs when an exception is thrown in the contextInitialized method of a ServletContextListener

SEVERE: Error filterStart

Occurs when an exception is thrown in the init method of a Filter

Unfortunately by default, tomcat won't provide you with any details about the cause of the error. Infact it wont even tell you which filter or listener is failing. This can be big problem in applications of significant size that have many filters and listeners configured. Fortunately there is a solution. In your webapplication's WEB-INF/classes folder you can create a logging.properties file with the following contents

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler

Now you will be presented with the stacktrace

'개발 > java' 카테고리의 다른 글

[JAVA] Spring Framework Annotation-based Controller Interceptor Configuration  (0) 2011.09.07
[JAVA] DWR  (0) 2010.11.23
[JAVA] 이클립스 설정  (0) 2010.11.02
Posted by 나랑살자
,

1. sqlite 설치

# wget http://www.sqlite.org/sqlite-amalgamation-3.6.16.tar.gz

# tar xvfz sqlite-amalgamation-3.6.16.tar.gz

# cd sqlite-3.6.16

# ./configure

# make

# make install


2.  python 설치


1) 패키지 다운로드 작업 디렉토리 진입

# cd

# wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz

# tar xvfz Python-2.6.6.tgz

# cd Python-2.6 


2) 기존 python 덮어 쓰지 않게끔 설정

# ./configure --prefix=/opt/python2.6 --with-threads --enable-shared


3) 컴파일 설치

# make

# make install


4) root .bash_profile 추가

alias python='/opt/python2.6/bin/python'


5) 심볼릭 링크 생성

# ln -s /opt/python2.6/bin/python /usr/bin/python2.6


6) 공용라이브러리 등록

# cat >> /etc/ld.so.conf.d/opt-python2.6.conf

/opt/python2.6/lib (hit enter)

(hit ctrl-d to return to shell)

# ldconfig


7) setuptool 설치

# cd

# wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg

# sh setuptools-0.6c9-py2.6.egg --prefix=/opt/python2.6

  

8) MySQLdb 패키지 설치:

# cd

# wget http://sourceforge.net/projects/mysql-python/files/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz/download

# tar xvfz MySQL-python-1.2.3c1.tar.gz

# cd MySQL-python-1.2.3c1

# python setup.py build

# python setup.py install

 

- 빌드 과정 에러가 발생하면 MySQL-dev 관련 패키지를 추가로 설치한다. (yum install mysql-dev*)

- $ python2.6 setup.py build  /usr/bin/ld: cannot find -lpython2.6 에러발생하면 python2.6 setup.py build_ext --library-dirs=/opt/python2.6/lib/ 시도

 

9) PIL(Python Image Library) 설치

# cd

# wget http://effbot.org/downloads/Imaging-1.1.6.tar.gz

# tar xvfz Imaging-1.1.6.tar.gz

# cd Imaging-1.1.6

# python setup.py install

 

10) 파이썬 2.6 설치 검증:

# cd

# python

Python 2.6.2 (r262:71600, Aug  5 2009, 00:51:31)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import sqlite3

>>> import MySQLdb

>>> import Image

>>>

 

MySQLdb 임포트시 경고 메시지가 출력되는 경우가 있는데 재로그인 하면 사라진다. (이유는 모름. 누가 설명 .)


* Genshi

easy_install 설치시 버전이 설치되어 trac 에서 요구하는 버전을 설치 없다. 다운 받아서 설치.

# svn export http://svn.edgewall.org/repos/genshi/trunk genshi

# cd genshi

# python setup.py install


* 한글 설정을 위한 babel, Locale Data 설치.

babel 다운로드


# mkdir temp

# cd temp

# svn co http://svn.edgewall.org/repos/babel/trunk babel

# cd babel


* Locale Data 설치

# wget http://unicode.org/Public/cldr/1.6.1/core.zip

# unzip core.zip



* Element Tree 패키지 설치 - locale 적용을 위해 필요하다.

# easy_install ElementTree



* 빌드 설절 CLDR 데이터의 변환하고 설치를 진행한다.

# python ./setup.py egg_info

# python ./scripts/import_cldr.py ./   <-  ./ 설치 경로(babel 폴더에 core.zip 풀었으므로)


# python ./setup.py install

# python ./setup.py test   <- test




* 옵션 사항.

# easy_install pytz

# easy_install docutils

# easy_install epydoc

# easy_install Pygments


3.  mod_python 설치


yum install mod_python


하니 apache 같이 받아져서 다운 받아서 깔았다.


다운로드 : http://www.modpython.org/


# tar zxvf mod_python-3.3.1.tgz

#cd mod_python-3.3.1

#./configure --with-apxs=/usr/local/web/apache/bin/apxs --with-python=/usr/bin/python

#make

#make install


./configure 옵션은 자기 환경에 맞는 값을 넣어주면 된다.


make mod_python-3.3.1/src/connobject.c 부분에서 에러

mod_python-3.3.1/src/connobject.c 열어

while ((bytes_read < len || len == 0) &&

           !(b == APR_BRIGADE_SENTINEL(bb) ||

             APR_BUCKET_IS_EOS(b) || APR_BUCKET_IS_FLUSH(b))) {


하면 된다.



4.  trac 설치

# svn export https://svn.edgewall.com/repos/trac/trunk trac-trunk

# cd trac-trunk

# python ./setup.py complile_catalog --use-fuzzy   <= po 파일을 mo 파일로 변환.

# python ./setup.py install

# trac-admin --version



버전 확인하면 현재(trac-admin 0.12dev) 라고 뜬다.


5. trac와 svn, apache  연동

# mkdir /home/trac/test

# trac-admin /home/trac/test initevn

# chown apache.apache -R /home/trac/test



httpd.conf 수정


<Location /trac>

  SetHandler mod_python

  PythonHandler trac.web.modpython_frontend

  PythonOption TracEnv /home/trac/test

  #PythonOption TracEnvParentDir /home/trac  <= 첫페이지에 프로젝트 리스트가 뜬다.

  PythonOption TracUriRoot /trac/

</Location>



아파치 재실행후


http://localhost/trac 확인.


svn 연결이 제대로 안되어 있을 것이다.계정도 없고.


에러사항들

* 화면이 하얗게 나오고 로그에 아래와 같이 나올때

- Python에서 참조하고 있는 expat verison이랑 Apache 소스 컴파일시에 아파치에서 사용하는 expat library version 맞지 않으면 mod_python에서 문제가 발생한다.


해결방안.

mv /usr/local/apache2/lib/libexpat.so.0.1.0 /usr/local/apache2/lib/libexpat.so.0.1.0.old

ln -s /lib/libexpat.so.0.5.0 /usr/local/apache2/lib/libexpat.so.0.1.0


* mod_python 에러

페이지 마지막 줄에 db read _write 권한이 있어야 한다고 뜨는 경우. 기본 apache httpd.conf User, Group Daemon 으로 되어 있어서 그렇다.

apache 설정 주었으므로 부분을 수정하여 주면 된다.

mod_python 설정 참고 페이지 : http://trac.edgewall.org/wiki/TracModPython

Posted by 나랑살자
,

In order to use interceptors with Annotation-based controllers, you need to configure the DefaultAnnotationHandlerMapping used by the Spring container.

<bean id="annotationMapper" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
	<property name="interceptors">
		<list>
			<ref bean="myInterceptor1"/>
			<ref bean="myInterceptor2"/>
			<ref bean="myInterceptor3"/>
		</list>
	</property>
</bean> 

URL Specific Interceptors for Annotation-based controllers

Unfortunately, using the DefaultAnnotationHandlerMapping for interceptors configures the interceptors for all defined annotation based controllers.
In some cases, you might want to have interceptors apply only to specific controllers. 

I have created two HandlerMappings that will accomplish this task:

The SelectedAnnotationHandlerMapping and theIgnoreSelectedAnnotationHandlerMapping.java classes which can both be downloaded from www.springplugins.org

SelectedAnnotationHandlerMapping

The SelectedAnnotationHandlerMapping allows you to specify which urls will be interecepted. It is configured as follows:

<bean id="publicMapper" class="org.springplugins.web.SelectedAnnotationHandlerMapping">
	<property name="urls">
		<list>
			<value>/interceptOnly.do</value>
		</list>
	</property>
	<property name="interceptors">
		<list>
			<ref bean="myInterceptor"/>
		</list>
	</property>
</bean>

The above configuration causes all requests to /interceptOnly.do to be intercepted by myInterceptor.

IgnoreSelectedAnnotationHandlerMapping.java

The IgnoreSelectedAnnotationHandlerMapping allows you to specify which urls will not be interecepted. This is similar to Spring'sDefaultAnnotationHandlerMapping in that it will map all Annotation based controllers except it will not map the defined urls. It is configured as follows:

<bean id="publicMapper" class="org.springplugins.web.IgnoreSelectedAnnotationHandlerMapping">
	<property name="order">
		<value>0</value>
	</property>
	<property name="urls">
		<list>
			<value>/doNotIntercept.do</value>
		</list>
	</property>
	<property name="interceptors">
		<list>
			<ref bean="myInterceptor"/>
		</list>
	</property>
</bean>

Here all annotation-based controllers will be intercepted with myInterceptor except the one usign /doNotIntercept.do url.
Notice that this interceptor specifies the order attribute. This is necessary because if you are using this controller, you are most likely using another mapper for the specified urls. The order was set to 0 here because it is assumed that the mapping to /doNotIntercept.do will be defined with an order > 0.



출처 : http://www.scottmurphy.info/spring_framework_annotation_based_controller_interceptors
Posted by 나랑살자
,