아래 에러는 jdbc 사용 시 db연결이 제대로 이루어지 않았기 때문이다 그럼으로 인하여 커넥션 풀이 제대로 만들어 지지 않았기 때문이다. 이를 해결하기 위해서는 time zone 설정을 하면 해결 할 수 있다. ### Error querying database. Cause: java.sql.SQLException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) ### The error may exist in memo/mapper/memo.xml ### The error may involve memo.list ### Th..
아래 와 같은 Mybatis에러는 보통 mapper의 id값을 잘못 입력했을 경우 발생하는 에러로 id값을 다시한번 확인하여 제대로 입력이 되었는 지 확인 해야한다. ### Error updating database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for team.insertteamapply ### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for team.insertteamapply]을(를) 발생시켰습니다. java.lang.IllegalA..
select select한 결과를 리턴한다 insert 1 or 여러개 를 insert 한경우 1을 리턴한다 update update 한 개수 만큼 값을 리턴한다 만약 존재 하지 않으면 0을 리턴 delete delete 한 개수 만큼 값을 리턴한다 만약 존재 하지 않으면 0을 리턴한다
Interceptor에서 특정 페이지로 이동시키기 위하여 Redirect를 사용해야 하는 경우가 흔히 발생한다 가령 예로 로그인 여부를 확인 한다거나 등이 존재하는데 이때 흔히 착 착각 하는 것이 Interceptor에서 sendRresponse.sendRedirect(); 를 사용하면 모든 작업을 끝내고 바로 내가 원하는 페이지로 Redirect를 수행한다고 착각하는것이다. 하지만 모든 작업을 끝내는 것이 아닌 모든 작업을 완료하고 Redirect 작업을 수행하는 것이다. Interceptor의 preHandle 리턴 값 변경 전 Controller @Controller public class HomeController { //첫번째 @RequestMapping(value = "first", metho..
Interceptor에서 특정 페이지로 이동시키기 위하여 Redirect를 사용해야 하는 경우가 흔히 발생한다 가령 예로 로그인 여부를 확인 한다거나 등이 존재하는데 이때 흔히 착 착각 하는 것이 Interceptor에서 sendRresponse.sendRedirect(); 를 사용하면 모든 작업을 끝내고 바로 내가 원하는 페이지로 Redirect를 수행한다고 착각하는것이다. 하지만 모든 작업을 끝내는 것이 아닌 모든 작업을 완료하고 Redirect 작업을 수행한다. 이를 해결 하기 위해서는 preHandle의 return 값을 false 로 변경 하면 해결 가능하다 Interceptor의 preHandle 리턴 값 변경 전 Controller @Controller public class HomeCont..
Redirect 서블릿의 요청이 클라이언트의 웹브라우저를 다시 거쳐 요청 되는 방식으로 dispatch의 forward와는 달리 url주소가 바뀐다. Redirect 과정 클라이언트의 웹 브라우저에서 첫번째 서블릿을 요청 -> 첫 번째 서블릿은 sendRedirect() 메서드를 이용해 두 번째 서블릿을 웹 브라우저를 통해서 요청 -> 웹 브라우저는 sendRedirect() 메서드가 지정한 두번 쨰 서블릿을 다시 요청한다 dispatcher 방식 controller @Controller public class HomeController { //첫번째 @RequestMapping(value = "first", method = RequestMethod.GET) public String first() { S..
포워드 방법은 크게 4가지 방법이 있다 redirect HttpServletResponse 객체의 sendRedirect()메서드를 이용하여 웹브라우저에 재용하는 방식 sendRedirect("포워드할 jsp"); Refresh HttpServletResponse 객체의 addHeader()메서드를 이용하여 웹브라우저에 재용하는 방식 response.addHeader("Refresh" , "1;url=포워드할 jsp"); location 자바스크립트 location 객체의 href 속성을 이용하여 자바스크립트에서 재요청하는 방식 location.href='포워드할 jsp'; dispatch RequestDispatcher 클래스의 forward()메소드를 이용하여 서블릿이 직접 요청하는 방식 Reques..
인터셉터? 인터셉터를 사용하면 부라우저 요청이 있을 때 요청 메시지 호출 전후에 개발자가 원하는 기능을 수행할 수있게 도와준다 중복되는 작업이 있는 경우 interceptor를 통해 중복소스코드를 제거하는 효과를 준다. 브라우저 요청시 해당 컨트롤러의 메서드가 처리하기 전후에 인터셉터를 거쳐 처리하게 된다. 인터셉터와 필터의 차이 기능은 비슷하지만 필터는 웹 어플리케이션 의 특정한 위치에서만 동작하는데 반해 인터셉터는 좀더 자유럽게 위치를 변경해서 기능을 수행 할 수 있다. 입터셉터는 주로 쿠키제어, 파입업로드 , 권한 체크 등에 사용하고 필터는 인코딩작업을 수행한다. 동작순서 filter -> DispatcherServlet -> Interceptor -> controller ->interceptor ..