spring(6)
-
[spring boot] Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 에러
로컬 DB를 사용 중이다가 aws ec2에 구축되있는 데이터베이스(aws rds가 아니라 ec2안에 구축해놓은 db, MySql)에 접근 하도록 application.properties에 datasource 정보를 변경 했는데.. Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 와 같은 메시지가 뜨면서 접속이 안됬다.. 검색하면 커넥션이 너무 많아서.. 타임 아웃에 대한 내용.. mysql 권한에 대한 내용...jdk 버전에 대한 내용... 많았지만 딱히 해결은 되지 않았다...
2022.01.27 -
[Spring/mybatis] HTTP Status 500 - Internal Server Error 발생시 해결
HTTP Status 500 - Internal Server Error CommunicationsException: the last packet successfully received from the server was 134,135,982 milliseconds ago. 해당 문제는 mysql이 (일반적으로) 8시간 이상 접근이 없으면, 해당 커넥션풀을 끊어버려서 생기는 에러일 확률이 높다. 해결하기 위해선 접근시간을 늘리거나(대부분 추천하지 않는다고 한다.) 오토리커넥트 후 재접속시 1줄 이상의 결과값을 내는 쿼리를 보내는 것이라고 한다. db.properteis 파일의 url 경로 혹은 데이터소스에 직접 데이터베이스 url을 입력했을 경우 해당 주소 뒤에 ?autoReconnect=true 를 붙이..
2021.07.05 -
InternalResourceViewResolver 사용시 여러 폴더를 참조하기
이 것도 인터넷을 참 많이 뒤져보고, 다른 스프링 배우는 사람들이나 알려주시는 분들에게 물어봤는데 인터널리소스뷰리졸버 같은 경우는 그냥 모든 컨트롤러에 한번에 작용하시는 방식이라고 하더라... 멀티리졸버 구현을 위해선 인터널리소스뷰리졸버를 사용하지않고 개인이 커스텀 리졸버를 만든 후, 여러개의 리졸버의 빈객체를 생성한 후, 리졸버간에 순위를 둬서 하나의 리졸버가 파일을 찾지못해서 null값을 반환하면 다른 리졸버가 작동하는 방식으로 구현하면 된다고 하는데, 급하게 배우기에는 이해할 시간도 부족해서 그냥 편법이라고 불리는 방식을 사용했다. init 메소드가 호출되는 컨텍스트xml파일 원래 예제에선 serfix도 적혀있었는데(.jsp) 이전에 썼던 글에도 있는데 .do 매핑 참조할 때 이런방법 저런방법 찾다..
2021.07.05 -
resources 매핑
spring/appServlet/servelet-Context.xml 웹은 글씨와 css꾸미기만으로 이루어지는 게 아니니까 동영상이나 사진등은 필수요소 중에 하나고.. 이런 파일들을 모아놓은 곳이 src/main/webapp/resources 폴더인데, jsp 파일 작성시 이 폴더 경로에 있는 파일을 컴퓨터가 찾기 쉽게 해주기 위해 xml파일에 리소스 매핑을 해두는 것이었다. 근데 내가 사용하는 데이터 베이스는 기존에 자바 스윙 어플리케이션을 만든 것에 쓰이던 데이터 베이스인데, 당시에 img 폴더에 파일을 넣어놨었고, 데이터베이스 과부화를 줄이고자 blob데이터형식이 아니라 varchar방식에 이미지의 주소를 넣어두고 참조하는 방식으로 사용했었는데, 그 경로가 img/~이런 식으로 되어있었고, 자바 파..
2021.07.05 -
mybatis 여러개의 mapping 파일을 동시에 사용
m.springbook.biz.board.BoardVO" /> m.springbook.biz.user.UserVO" /> m.springbook.biz.customer.CustomerVO" /> 현재 나는 마이바티스를 사용 중이고 해당하는 매핑파일을 3개 사용중이다. 독학을 하는 사람들 다 비슷하게 겪는 문제겠지만, 보통 책에서 나오는 예제들은 대부분 하나씩만 사용하는 예제들.. 이것도 마찬가지였고.. mapper resource가 한줄 밖에 없었는데.. 이게 하나의 매핑 파일에 모든 sql문을 몰아 넣어야하는지, 아니면 여러개의 매핑파일이 사용 가능한지 여러개가 사용 가능하다면 안에 한줄씩 넣어서 여러번의 가 필요한건지.. 아니면 하나 안에 여러줄의 리소스를 넣을 수 있는건지.. 단순하게 생각하면 결과..
2021.07.05 -
다른 컨트롤러에 있는 do 경로로 이동
BoardController @RequestMapping("/getBoardList.do") public String getBoardList(BoardVO vo, Model model) { vo.setRegDate(new Date(System.currentTimeMillis())); if(vo.getSearchCondition() == null) vo.setSearchCondition("TITLE"); if(vo.getSearchKeyword() == null) vo.setSearchKeyword(""); if(vo.getSearchCondition().equals("TITLE")) { model.addAttribute("boardList", boardService.getBoardListT(vo)); }..
2021.07.05