ㅤㅤㅤ
Naming Role 본문
= Naming Role =
1. 패키지구조
1) com.opms.framework.spring.extend -> spring에서 제공하는 기능 중 추가 확장
2) com.opms.framework.struts.extend -> struts에서 제공하는 기능 중 추가 확장
3) com.opms.framework.common.util -> 프레임워크에서 공통적으로 많이 사용하는 유틸리티
4) dev.opms.프로젝트명.버전.기능.구분 -> 버전(admin,agency) , 기능(user,system,etc...) , 매체구분(overture,google,naver...), 프로그램구분(action,service,dao)
2. 웹디렉토리 구조
1) webapp/layout/.. -> 사이트메시관련페이지
2) webapp/resource/종류(css,js,images)/..
3) webapp/view/버전(admin,agency)/기능(user,system.etc...)/..
4) webapp/index.jsp(agecny버전 기본페이지) , admin.jsp(admin버전 기본페이지)
5) webapp/WEB-INF/config/프레임워크설정(ibatis,sitemesh,spring)
6) webapp/WEB-INF/log/..(로그파일) -> log4j , spy 설정파일 조사해봐야함
7) webapp/WEB-INF/upload/..(업로드파일)
8) webapp/WEB-INF/sitemesh.xml(사이트메시설정), web.xml(웹어플리케이션설정)
3. DB
1) 테이블명,컬럼명,함수명 모두 대문자(기존 오라클 네이밍 룰을 따름) AAAP_AAA
-> 오라클로 Migration 시 기존 그대로 갈수 있음 (물론 function, procedure 등은 수정)
-> 어짜피 ibatis에서 매핑할때는 resultMap 에서 따로 선언 해 주어야 함
4. Java
1) 변수 선언 시 (type별)
-> int : ex) int userCnt;
-> float : ex) float userCnt;
-> double : ex) double userCnt;
-> boolean : ex) boolean isUserId
-> String : ex) String chkUserId;
-> Object(Model) : ex) User user;
-> List : ex) List users;
-> getter,setter 가 들어가지 않는 지역변수는 기존변수 네이밍룰을 따른다(iUserCnt, fUserCnt, dUserCnt, bnUserId, strUserId, arrUser, obUser)
2) 변수 선언 시 (Function별)
-> check : chk+변수명 ex) chkUserId;
-> ... etc
3) 게시판 관련 변수
-> pageNo : 현재페이지 번호
-> pageSize : 현재페이지당 목록수
-> pageSearchKey : 현재페이지 검색 키
-> pageSearchValue : 현재페이지 검색 값
-> pageSortKey : 현재페이지 정렬 키
-> pageSortValue : 현재페이지 정렬 값
-> pagePagingHtml : 페이지 페이징 HTML
-> pageStatusHtml : 페이지 정보 HTML
-> pageSizesHtml : 페이지 목록리스트 HTML
4) 액션 -> 서비스 -> DAO -> iBatis 명
-> 동사+모델명 ex) 액션 : loginUser
-> 기본 액션명
ACTION SERVICE DAO iBatis
listUser -> getUsers -> getUsers -> getUsers (사용자 검색 페이지)
editUser -> getUser -> getUser -> getUser (사용자 수정 페이지)
addUser -> 사용안함 -> 사용안함 -> 사용안함 (사용자 추가 페이지)
editUserProc -> editUser -> editUser -> editUser (사용자 수정 처리)
delUserProc -> delUser -> delUser -> deluser (사용자 삭제 처리)
addUserProc -> addUser -> addUser -> addUser (사용자 추가 처리)
5. JSP
1) <form> 의 이름
-> 파일명+Form ex) <form name="frmForm(1,2,3,4,...)"></form>
2) JSP 에서 사용할 URL이 있다면 <s:url id="url+액션명" action="액션명" /> 설정후 <s:property value="#url+액션명"/> 로 사용
3) 왠만하면 스트럿츠태그 사용 권장 ( 서블릿태그보다 빠르다고 합니다. )
4) 파일명
-> 동사+모델명 ex) addUser.jsp , listUser.jsp , editUser.jsp , viewUser.jsp
6. Javascript
1) 함수명
-> 동사+명사등... ex) exeListUser, exeEditUser, exeEditUserProc ... ( 액션실행 함수는 exe+액션명, 스크립트상에서 실행되는 함수는 exe를 안붙임 )
2) 변수명
-> Java변수 선언 과 동일
7. 국제화 Text관련
1) webapp/WEB-INF/src/message.properties
-> 공통적으로 사용
2) webapp/WEB-INF/src/dev.opms.프로젝트명.버전.기능.action/액션명_(ko,en,zh).properties
-> 각 기능별로 나눠서 저장할것인가, 버전벌로 나눠서 저장 할것인가
= Program Role =
1. action
-> jsp의 값을 받아서 service로 넘기는 역할
-> service에서 반환받은 값으로 view로 넘김
2. service
-> action에서 넘겨받은 값을 가공하여 dao로 넘기는 역할
-> dao로 넘겨받은 값을 가공하거나 그대로 action으로 넘김
3. dao
-> service에서 넘겨받은 가공된 값으로 map에 저장하여 ibatis에 넘김
-> ibatis에서 넘겨받은 값을 service로 보냄
4. model
-> action 단에서 파라미터로 받은 값을 model 객체에 저장 (DB 테이블 column 과 동일)
출처: http://jang8584.tistory.com/34 [개발자의 길]
'プログラミング > JAVA' 카테고리의 다른 글
날짜, 숫자, 영어 등 유효성 체크 검사코드 (0) | 2017.06.20 |
---|---|
jsoup : 자바 HTML 파서(Java HTML Parser) (0) | 2017.06.19 |
enum 클래스의 사용과 이해 열거형 (JDK 1.5 ↑) (0) | 2017.06.15 |
문자열을 위한 switch (0) | 2017.06.15 |
Scanner nextInt 뒤에 nextLine 쓸 때 생기는 오류 해결법 (0) | 2017.06.13 |