본문 바로가기

The Focus

(556)
Ajax 와 jQuery UI 를 십분 활용할때 목록과 상세화면에 보여줄 내용 *. 정보처리 방법론 - indexCommon.jsp ACL 과 기타 공통 코드를 관리. 전체에 정적 포함. - index.jsp ACL 만 체크하고 전체 프레임 관리 - indexJs.jsp 변경이 거의 없는 경우에는 index.js 를 사용하겠지만, 자주 변동될 것이기에 캐시를 고려하여 .jsp 로 작업 - indexList.jsp Ajax 로 불려지는 목록. 목록을 Excel 에 담기도 편하당 - indexView.jsp Ajax 와 jQuery UI 의 Popup 으로 처리. 조회/수정/등록 모두 담을 수 있다. CSS 와 jQuery 를 잘 활용. 상기와 같이 개발된다 했을때.. 목록에는, 최초 등록일시(분초는 고려), 등록자 이름(부서나 직책은 고려), 제목(본문 내용 일부는 고려) 등을 표시..
ACL 이 적용된 내용인 경우 상세화면 조회시에도 반드시 ACL 체크 예를들어, 게시 여부가 존재하는 게시물인 경우.. 목록에서는 게시 여부를 체크하면서, 상세에서는 게시 여부를 체크하지 않기도 하는데.. 사실 목록에서 체크했다면 상세에서도 체크하는 것이 정석. 누군가 해당 게시물의 상세화면 코드를 알고 있다면, 목록을 거치지 않고 상세화면을 볼 수 있기 때문. 게시 여부뿐만 아니라, 만약 카테고리로 운영된다면 카테고리도 ACL 에 넣어야 합니다. 그렇지 않으면, 다른 권한의 화면에서 해당 내용을 조회할 수 있거든요. 사용자 화면인 경우에는, DB 쿼리에 해당 로직을 넣고.. 관리자 화면인 경우에는, JSP 나 JAVA 로직에서 체크.
UTL_HTTP 패키지를 사용하여 오라클 DB 에서 URI 호출하는 DB 프로시저 생성 혹시 10g 나 9i 에선 잘 되던 것이 11g 로 바뀌고 난 다음에 작동하지 않는다면 아래 링크를 클릭해 보세요.11g 부터는 utl_http 에 대한 접근권한을 설정해야 작동합니다 이곳에서는 단순히 URI 를 호출하는 방식을 기술합니다. Response 에 담아와서 추가적인 작업을 할 수도 있습니다. DB 프로시저에 .jsp 를 일단 등록했으니, DB Job 에 등록하면 매번 자동으로 돌아가게 할 수가 있습니다. Java 로 만들어서 Crontab 에 돌리는 것과 같은 효과입니다. CREATE OR REPLACE PROCEDURE SP_A IS REQ UTL_HTTP.REQ; RESP UTL_HTTP.RESP; BEGIN UTL_HTTP.SET_TRANSFER_TIMEOUT(5); -- 5초 이상 걸..
일정 주기로 실행되는 .java 를 크론탭에 등록 실행되는 .java 에는 public static void main(String[] args) 메소드가 정의되어야 합니다. 다른 package 의 class 메소드를 실행하려면 main 메소드 안에 해당 코드를 등록합니다. package com.sn.app; public class DelayedAppMng { public static void main(String[] args) throws Exception { AppInfo info = new AppInfo(); info.setCnt1(-6); info.setCnt2(2); AppMng appMng = new AppMng(); appMng.doDelayedAppsNotify(info); } } 그런데, DB 를 작업하는 등 다른 외부 라이브러리를 사용할..
이클립스 헬리오스, 코딩시 sysout 템플릿 사용 'sysout' 단어를 입력하고 키를 누르면, 이클립스에 등록된 문장이 자동으로 삽입되는 기능이 '템플릿' 입니다. 제 경우에는 아래와 같이 입력해 놓습니다. ${word_selection}${} 은 커서가 위치하는 공간입니다. System.out.println("---.:"+${word_selection}${}+".."); "---." 로 시작하는 것은 .java 쪽에서 쓰고, "+++." 로 시작하는 것은 .jsp 쪽에서 사용하는 식이지요.. ~~. (이미지 내용이 잘 보이지 않으시면, 이미지를 클릭해서 확대해 보세요.) 그런데, .jsp 에서는 왜 적용되지 않는지 이유를 모르겠네요.. ㅠ.ㅠ 버그인듯.. 이클립스 가니메데에서도 되던 것이 왜, 헬리오스 버전으로 오면서 안 되냐공.. ㅋㅋ
이클립스 헬리오스, switch 문에서 case 나 default 등을 들여쓰기 하는 방법 텍스트 에디터로 코딩할때 대개는, switch 문에서 case 와 defualt 를 들여쓰기 하잖아요. 그런데, 이클립스에서는 switch 와 동일한 위치에 위치하게 됩니다. 수작업으로 들여쓰기 해 두어도.. 나중에 이클립스가 자동으로 작업할 일이 생길때 다시 들여쓰기 했던 것이 원복됩니다. 이런 경우, 옵션을 수정해서 들여쓰기가 되도록 하세요. Preferences, Java, Code Style, Formatter 에서 Profile 을 Edit.. (Built-in 계열이면 수정후 다른이름으로 저장) (이미지 내용이 제대로 안 보이면, 이미지를 클릭해서 크게 보세요.) Indentation 탭의 Indent 에서 "Statements within 'switch' body' 를 체크하고 'OK', '..
이클립스 헬리오스, boolean 변수에 대하여 자동으로 getter 등록시 'is..' 가 아닌 'get..' 으로 설정하기 boolean 으로 설정된 변수를 getters 로 세팅시 이클립스의 Default 는 'is' 명칭을 사용하게 됩니다. 그러나, 설정을 변경하면.. 아래와 같이 일반적인 명칭인 'get' 을 사용하게 됩니다. (이미지 내용이 제대로 보이지 않으면 이미지를 클릭해 보세요..) Java, Code Style 에서 "Use 'is' prefix for getters that return boolean" 기능을 꺼 두세요.. 자, 설정이 바뀐 상태에서 아래와 같이 .java 본문에서 마우스 오른쪽 커서를 클릭하여 메뉴를 열고, Source, Generate Getters ans Settings.. 를 실행하면, 'is' 접두사 대신에 기본적으로 사용되는 'get' 접두사가 사용됩니다. 기본은 아래와 같이 'U..
jQueryUI 로 팝업 사용시 팝업에 사용된 input 등의 컨트롤은 팝업 용도로만 사용 가능 jQueryUI 로 팝업 띄울때, 팝업에 input 등의 태그를 사용하고 form 문 안에 정의하더라도.. 팝업에서만 사용되고, action 쪽으로 해당 내용이 넘어가지 않습니다. ^^> ... ... ...