728x90
반응형
http://docs.spring.io/spring-security/site/docs/3.0.x/reference/springsecurity.pdf

 

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

body onload event  (0) 2013.09.23
ModelAndView  (0) 2013.09.23
location.href 의 바른사용  (0) 2013.09.16
project.build.sourceencoding  (0) 2013.09.16
ibatis <dynamic>,<prepend>  (0) 2013.09.13
728x90
반응형
자바스크립트로 페이지를 이동하기 위해서 많이 쓰이는  location.href

잘못된 예 :: location.href('sample.htm');

이렇게 쓰게 되면, 인터넷 익스플로러에서만 작동을 하고, 크롬이나 파폭에서는 작동하지 않는다.

정확한 예 : location.href = 'sample.htm';

위의 방식으로 작성을 해야 모든 브라우저에서 돌아가게 된다.

참고로... 


location.replace('sample.htm');


으로 코딩을 하게 되어도, 주요 브라우저에서 정상적으로 작동을 하게 된다..


결론..


location.href = 'sample.htm';

location.replace('sample.htm');


위의 두 방식이  정확하게 작동한다.

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

ModelAndView  (0) 2013.09.23
Spring Security  (0) 2013.09.16
project.build.sourceencoding  (0) 2013.09.16
ibatis <dynamic>,<prepend>  (0) 2013.09.13
remapResults="true"  (0) 2013.09.12
728x90
반응형
프로젝트시에 인코딩을 미리 설정해두고 팀원들에게 소스파일의 인코딩을 숙지시는것 프로젝트의 기본이겠지.

요즘과같이 다국어를 지원하는 웹어플개발에서는 이클립스에서 인코딩을 UTF-8로 해놓고 플젝을 시작해야 추후 발생할 문자셋관련 에러를 예방하는데 도움이 됩니다.

그런데 이전에 플젝소스들보면 인코딩이 지맘대로인게 참 많은데.. 이클립스를 사용함에도 불구하고 아무설정도 하지않고 사용하기때문에 윈도우의 기본셋인 ms??(까묵읏네) 랑 맥의 기본셋(MacRoman)으로 해놓고 쓰는 사람이 참 많다.

이럴때 한방으로 플젝소스를 전부 UTF-8로 바꿔보자. 
1. 가장 쉬운건 이클립스에서 인코딩설정을하고 전부 재컴파일 시킴.
2. 이클립에서 설정했어도 가끔 빌드시에 에러가 나는경우가 있음 이럴때는 빌드시에 다시한번 확인시켜줌
메이븐을 사용한다면
mvn 명령어 옵션에 MAVEN_OPTS=-Dfile.encoding utf-8를 설정
근데 이거 다치고 있으면 귀찮으니
pom.xml 에 다음과 같이 설정하자.

	<properties>
		<project.build.sourceencoding>UTF-8</project.build.sourceencoding>
	</properties>

 

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

Spring Security  (0) 2013.09.16
location.href 의 바른사용  (0) 2013.09.16
ibatis <dynamic>,<prepend>  (0) 2013.09.13
remapResults="true"  (0) 2013.09.12
Ibatis 동적쿼리  (0) 2013.09.12
728x90
반응형

ibatis 동적 쿼리 생성시 dynamic, prepend 용법과 설명

 

1. dynamic : where 절에 들어갈 하위 요소가 존재하면 wheresql문에  추가된다

맨처음 val1 에서 추가되는 prepend(AND)는 자동으로 사라진다.

 

2. prepend  : 쿼리지정된 문자(AND)를 추가하여 해당 쿼리에 반영

Ex) AND, OR 가능

 

============================== Example ==============================

<dynamic prepend="WHERE">

<isNotEmpty property="val1" prepend="AND">

col1 = #val1#

</isNotEmpty>

<isNotEmpty property="val2" prepend="AND">

col2 = #val2#

</isNotEmpty>

</dynamic>

 

* 위 실행 type별 결과  : 

1. val1, val2  둘다 값이 존재 : WHERE col1 = 'aaa' AND col2 ='bbb'

2. val1 만 값이 존재 : WHERE col1 = 'aaa'

3. val2 만 값이 존재 : WHERE col2 ='bbb'

4. 둘다 null 인 경우 : 추가되는 부분 없음

 

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

location.href 의 바른사용  (0) 2013.09.16
project.build.sourceencoding  (0) 2013.09.16
remapResults="true"  (0) 2013.09.12
Ibatis 동적쿼리  (0) 2013.09.12
HashMap<k,v>  (0) 2013.09.12
728x90
반응형

iBatis를 사용해서 쿼리작업을 하면 아래와같은 장점이 있다.

      1. xml로 sql을 관리하므로 가독성이 높아진다.

      2. db연결 정보도 conf로 관리하므로 수정하기 쉬워지며

      3. 그래서 코드내에서 여러개의 db에 선택적으로 접근하기도 수월하다.(테스트/실장비 자유롭게 왔다갔다~)

      4.ORMap을 해주기때문에 결과를 가져올때도 사용하기가 쉽다.

 

xml의 statement 내에서 변수들을 받을때 '#' 를 사용해서 변수를 접근한다.

그러나 테이블명/필드명들을 접근할때는 '$' 를 사용한다.

      select * from $tablename$

이런식으로..

 

 

그런데, 여기서 테이블명이 바뀌면 읽어오는 필드명도 보통은 달라지게마련..

iBatis는 내부적으로 읽어온 결과의 metadata를 저장해두는데

읽어온 필드명이 달라지면 이전의 metadata와 mapping이 되지않아 에러를 발생시킨다.

 

이럴때 statement의 attribute로 "remapResults=true"를 추가해줘야 한다.

이렇게 되면 매번 metadata를 세팅하므로 사실은 오버헤드가 있지만 에러는 발생하지 않는다.

 

문서들을 찾아보면 이 오버헤드 때문에 꼭 필요한 경우가 아니면 이 attribute를 활성화하지 말라고 되어있는데

실제로 아래 두가지 경우를 테스트 했을때 속도차는 별로 없었다.

1. remapResults=true로 하고 두개의 테이블에 번갈아가면서 접근한것

2. 각각의 테이블로 가는 sql을 따로 두개 작성한후에 remapResults=false로 해놓고 번갈아가면서 접근한것

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

project.build.sourceencoding  (0) 2013.09.16
ibatis <dynamic>,<prepend>  (0) 2013.09.13
Ibatis 동적쿼리  (0) 2013.09.12
HashMap<k,v>  (0) 2013.09.12
리눅스 명령어  (0) 2013.09.11

+ Recent posts