그 동안 Getter, Setter 메소드 때문에 코드가 매우 복잡했었다. 굳이 메소드가 아니라 어노테이션으로 getter, setter를 사용했었더라도 번거로웠다. 그러다가 우연히 @Data라는 어노테이션을 알게 되었다. 바로 Lombok이다. 클래스에다가 @Data 어노테이션만 사용해주면 바로바로 Getter, Setter가 생성된다. 정말 편한 것 같다. *설치방법 1. lombok.jar파일을 다운받고 cmd창에 java -jar lombok.jar 입력. 2. 자신의 eclipse.exe를 선택하고 install진행 3. classpath에 lombok.jar추가해주던가 프로젝트 lib에 lombok.jar추가해준다. 끝!! 정말 편하다~!
Tiles 뭐랄까...jsp에서 페이지를 분할하여 include하는 것이랄까?... 근데 정말 사용하기 편하도록 되어있다. 말이 필요없이 예제소스를 한번 보면 충분할 것 같다. 여기서 독특한 것은 컨트롤러의 리턴값이 조금 독특한 값이라는것? String으로 jsp파일명을 리턴해주는 것과 비슷하지만 Tiles xml파일에 지정해놓은 이름을 리턴해주면 그 이름으로 분할되어있는 파트의 페이지가 전환이 된다. 말이 막꼬이는데 예제파일을 올려놓겠다. 한번 참고해보자. jdk는 1.6v, tomcat6, eGov2.6v을 사용했다.
일반 웹(PC) 및 모바일 웹을 담당하는 컨트롤러와 하이브리드앱(폰갭)을 담당하는 컨트롤러가 각각 따로 있더라... 예를들어 일반 웹 및 모바일 웹에서 게시글목록을 출력하는 boardList라는 컨트롤러가 있다면, 하이브리드앱을 위한 boardList 컨트롤러 메소드가 따로있다. 다만 RequestMapping이나 메소드명을 다르게 지정하여 해준 정도?? 물론 리턴타입 등등 컨트롤러 내부 소스는 바뀐다. 그 동안 일반 웹 및 모바일 웹을 담당하는 컨트롤러와 하이브리드 앱을 담당하는 컨트롤러가 동일한줄 알았는데... 이제 머리 아파 할 필요가 없다. 오예~! :)
java.lang.ClassCastException: rs.vo.MemberVO cannot be cast to java.util.List - 500에러 발생 MemberDAOr(소스) @Repository public class MemberDAO implements MemberService{ @Autowired private SqlMapClient sqlmap; public List AdminCheck(MemberVO mvo) throws Exception { return (List)sqlmap.queryForObject("AdminCheck", mvo); } } member-sqlmap(소스) SELECT name, grade,pwd FROM yrsMember WHERE name=#name# AND ..
컨트롤러의 @RequestMapping @RequestMapping(value="/adminLogin.do", method=RequestMethod.POST) 안드로이드 폰갭 js파일의 요청하는 url부분 var url="/adminLogin.do"; 그전에는 컨트롤러와 폰갭 js파일 url을 모두 "rs/adminLogin.do"로 지정했었는데 설마설마해서 앞의 rs를 빼버리니...500에러로 넘어간다. 서버와 연동이 되는것 같다. 웹에서도 500에러가 떴으니...