1. 컨트롤러 부분 : RequestMapping 어노테이션 사용시 최소 url만 표시하여 간결성을 유지하기위해 다음과같이 코딩해주세요.
-> Controller
@Controller
@RequestMapping(value = "/common/") // 공용으로 쓰일 url 정의
public abstract class AbstractController {
@RequestMapping(value="url") // 이렇게 쓰면 결과 url : "/projectname/common/url"
public abstract ModelAndView action() throws Exception;
2. DAO 부분 : 코드 간결성을 위해 useStatementNamespaces 는 false로 유지합니다. DAO객체 내에서 네임스페이스 제거바람.
-> DAO
public ContactDTO getArticle(int idx) throws SQLException{
return (ContactDTO) getSqlMapClient().queryForObject("getArticle", idx); // 이부분 첫번째 파라미터
}
3. Log4j 사용 : 이제 debug나 개발시에 확인으로 sysout쓰지마시고 log4j사용바랍니다. 자세한 사용법은 블로그 참조하세요
-> anyWhere
protected static final Logger logger = Logger.getLogger(ControllerActions.class);
logger.warn(testDAO.getRecentArticle());
4. Interceptor 사용 : 세션체크나 기타 요청 가로체기가 필요할때 사용하시면 됩니다. 모든 요청에 걸리면 안되니까 아래와같이.
-> dispatcher-mapping.xml
<!-- Intercepter -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**/xxx/**" /> // 특정 URL에만 인터셉터 적용
<bean id="SessionCheckIntercepter" class="xxx.xxx.xxx.SessionCheckIntercepter"/>
</mvc:interceptor>
</mvc:interceptors>
기타내용 추가되면 수정하겠습니다.
이해안되는 사항있음 리플 ㄱㄱ