분류 전체보기
-
스프링(Spring) 쿼리 로그 (Query log) 남기기Spring/환경설정 2018. 9. 6. 10:41
스프링에서 오류가 났을 때 추적을 용이하게 돕기 위해 쿼리 로그를 남기도록 지원한다. 로깅 툴과 함께 사용해야 한다.- pom.xml의 Dependencies 탭에서 log4jdbc 입력해 com.googlecode.log4jdbc jar 파일 선택 후 OKDB 설정 등록하는 xml 파일 (필자는 rootContext.xml 만들어 사용)의 driverClassName과 url을 다음과 같이 수정한다. driverClassName : net.sf.log4jdbc.DriverSpy url : jdbc:log4jdbc:oracle:thin:@localhost:1521:XE이후 수행하면 기존 등록한 로그에 수행된 쿼리문, 메소드 등의 정보를 가져올 수 있다.
-
pom.xml Dependencies 검색 설정Spring/환경설정 2018. 9. 6. 10:38
pom.xml의 Dependencies 탭에서 Add 버튼 눌러 검색할 때 검색되지 않는 경우 다음과 같은 설정을 통해 해결할 수 있다. 1. Window - Show View - Other 클릭2. Maven 찾아 Maven Repositories 클릭3. 오른쪽에 Maven Repository 탭 생길 것이다. Global Repositories - central 에서 마우스 오른쪽 클릭 - Enable Full Index 클릭4. 설정 후 Rebuild Index 클릭5. OK 누르면 검색이 될 것이다. 길게는 한시간정도 걸리니 종료하지 말고 기다릴 것!
-
스프링(Spring) 프로젝트 환경설정Spring/환경설정 2018. 9. 6. 10:36
MVC 패턴에 대해 파악하고 있음을 기반으로 설명하므로 이를 모른다면 이해하기 어려울 것이다. 스프링은 DI(Dependency Injection, 의존성 주입)을 지원한다. 여기서 의존성은 Servlet, Service, Biz, Dao간의 의존관계를 말한다. Servlet은 Service 객체를 호출, Service는 Biz 객체 호출, Biz는 Dao를 호출해야 그 의미가 있게 사용할 수 있다. 이를 '의존성이 있다'고 표현한다. 스프링 없이 웹 프로젝트를 개발할 때 서블릿단에서 Service service = new Service();를 서블릿에서 해야 했다. 하지만 injection(주입)을 통해 필요로 할 때마다 Service 객체를 private 멤버로 호출해 사용할 수 있도록 한다. 이렇게..
-
제이슨 (Json) 다운 ( Down ), 사용법Web/JSON, Ajax 2018. 9. 6. 10:25
제이슨은 자바스크립트 데이터를 JSON 객체가 처리할 수 있는 데이터 형태로 변환하는 것이라고 이해하면 된다. 인터넷 익스플로러를 제외한 브라우저들은 JSON 객체를 포함하고 있어 다운받지 않아도 parse 등의 함수를 사용할 수 있다. 다운 방법 포스팅1. 구글에 json2.js 검색하면 제이슨 개발한 더글라스 크로포드의 깃허브 페이지가 나온다. 클릭해 접속2. Clone or download 클릭3. 집파일 압축 푼다.4. json2 파일을 자바스크립트와 같이 Context Root 하위에 넣어주면 된다.json 코드 열어보면 주석에 JSON 객체가 없는 경우에만 생성한다고 적혀 있음을 볼 수 있다. 그 구현부가 아래 있고, "JSON의 타입이 object가 아니면 JSON을 객체화 하겠다" 는 의미..
-
제이슨(JSON), 에이작스(Ajax) 예제.Web/JSON, Ajax 2018. 9. 6. 10:22
제이슨은 데이터의 전송형태이다. 각종 브라우저 뿐 아니라 모든 언어에서 제이슨 객체(JSON)를 지원하기 때문에 서버에서 데이터를 제이슨 형태로만 전송한다면 클라이언트의 언어에 구애받지 않고 parse 함수를 이용해 데이터를 추출해 사용할 수 있는 것이다. 데이터 전송 형태의 표준정도로 생각해도 큰 무리가 없다고 생각한다. 에이작스 또한 제이슨을 이용해 데이터를 제어하는 대표적 비동기통신 기법이다. 에이작스는 Asynchronous JavaScript And XML의 약어로 자바스크립트를 이용해 서버와 비동기통신을 지원하기 위한 클라이언트 통신기법이다. 비동기통신이란 일반적으로 코드의 라인대로 실행되는 함수들과 달리 실행되는 때를 알 수 없는 경우를 제어하기 위해 제공되는 통신기법을 말한다. 대표적인 것..
-
jQuery 체크박스(checkbox) 전체선택, 해제 예제Web/jQuery 2018. 9. 5. 11:14
체크박스 예외처리에 이어 전체선택, 해제 예제 포스팅 다음과 같이 jsp파일에 체크박스 하나 추가 후 id 부여한다. 이후 다음과 같이 Script 코드 작성 $("#checkAll").click(function(){ // 전체 선택 버튼 클릭시 var checked = $(this).prop("checked"); if(checked){ $(":checkbox[name=checkbox]").prop("checked", true); } else { $(":checkbox[name=checkbox]").prop("checked", false); } }); prop은 property의 약자로 속성을 의미하고, 태그의 attr 값들의 getter / setter 역할을 수행한다. 다음과 같이 checked 변수..
-
jsp페이지에서 jQuery로 체크박스(checkbox) 예외처리, 체크박스 셀렉터 (:checkbox)Web/jQuery 2018. 9. 5. 11:12
체크박스, 셀렉터를 함께 포스팅했던 예제가 있다. 그 예제에서는 아무것도 체크하지 않고 요청을 하는 경우 예외처리를 위해 서블릿에서 getParameterValues를 통해 받은 String 배열이 null인지 확인하는 절차가 필요했다. 공부하면서 이를 jQuery를 통해 서블릿에 요청 보내기 전에 확인할 수 있는 방법에 대해 포스팅 좌상단 '선택 사진 삭제' 버튼에 클릭이벤트를 작성한다. 작성자는 id를 delete로 해두었기 때문에 $("#delete").click 을 호출한다. $("#delete").click(function(){ if( $("input[type=checkbox][name=checkbox]:checked").length == 0 ){ alert("삭제할 항목을 하나이상 체크해요."..
-
jQuery 키보드 이벤트( Keyboard Event) 예제Web/jQuery 2018. 9. 5. 11:08
앞서 jQuery 사이트에서 이벤트 동작법에 대해 학습했다면 코드를 통해 키보드 이벤트 실습. ※모든 jQuery 예제는 아톰(atom)으로 작성했고, 오페라 브라우저를 통해 확인했다. html 문서 작업이 굉장히 편하기 때문에 사용을 권하고, 브라우저는 크롬이나 오페라를 권장한다. 인터넷 익스플로러에서는 같은 결과가 나오지 않는 경우가 굉장히 많을 것이다. ( 브라우저들의 DOM 작성 방법이 표준화되지 않았기 때문) Vacations jQuery Travels - Trip Planner Packages Hawaiian Vacation $399.99 per ticket Tickets: Total Price: $399.99 Call us at 555-25937 to make a reservation tod..