Note.12 비동기 통신

Jay·2023년 2월 15일
1

Spring

목록 보기
12/14
post-thumbnail

📌 전시간 복습

📖 JSTL & EL을 활용해서 나머지 JSP도 변경

스크립트릿을 쓰는 것 보다 간결하다.
(페이지 이동시 context Path 적는 부분이 변경되면 다 수정해야하는 어려움이있다.)

바로 이부분.
하지만 context Pathserver.xml에서 변경할 수 있는데 변경하면 전체 모든 코드를 수정해야하는 복잡함이 있다.

그래서 ${pageContext.request.contextPath} 이걸 사용하면 ELproject context path를 가져올 수 있다.

이렇게 하면 context Path가 바뀐다 하더라도 수정할 필요가 없다.
하지만 너무 코드가 길다.

마지막으로 JSTL을 같이 활용하면 좀 더 긴 문장을 줄일 수 있다.

나머지 이동하는 곳에 다 변경을 해준다.


📌 코드

📖 전체 코드 수정

@Autowired -> @Inject 로 좀 더 향상된 기능으로 변경 가능 (의존성 주입은 변경 없다.)

각각 Get인지 Post인지 요청에 따라서 변경도 가능하다.

요청 메소드 이름과 리턴할 jsp이름이 같다면 리턴타입이 없어도 상관없다.

📖 비동기 통신

새로운 Controller.java를 만들어준다.

기존이라면 @Controller이라고 했겠지만 JSON data format으로 응답하기 위해서는 @RestController으로 해준다.

다음과 같이 똑같이 메소드를 만드는데 이번엔 리턴에 객체 자체를 돌려준다.

그러면 springlistjson 포맷으로 돌려준다.

만약에 안되는 경우 아래 방법 참고하자.

Json lib 사용하기 위한 jackson 사용
https://tychejin.tistory.com/134

porm.xml에 추가한다.

boardList.jsp 에 버튼과 div를 만들고 버튼을 통해 json 데이터를 가져오자

상단에 javascript 함수를 만들고 ajax를 활용해서 비동기 통신으로 데이터를 가져온다.


📌 마무리

📖 한마디

확실이 정말 편리하고 좋은 것 같기는 하다.

하지만 이것도 잠시 오늘 Spring Boot 라는것을 조금 알아보았는데 더 편하다고 한다.
그래서 빠르게 Spring 부분을 마무리하고 Boot로 넘어가 볼까 한다.

이제 얼마 안남았다.

profile
Jay, a developer growing as a challenge, aims to surprise the world!

0개의 댓글