Java/Spring (32) 썸네일형 리스트형 Filter 와 interceptor, AOP 차이와 용도 이번 면접에서 아직 java에 대해서 정확하게 모르는 구나...! 라고 느꼈고java, spring 에 대해서 다시 공부해야겠다고, 생각했습니다 😭그래서 정리해보는 Filter와 interceptor 그리고 AOP종류실행시점FilterDispatcher Servlet에 요청이 전달되기 전/후 실행InterceptorServlet이 Controller mapping method를 호출하기 전/후 실행AOPtarget joinPoint(method)가 실행되기 전,후,자유롭게 호출Filter웹 어플리케이션에 전반적으로 사용되는 공통적인 기능을 구현할 때 적용할 수 있습니다.특히 공통적인 기능을 서블릿이 호출되지 전에 수행(전처리)하거나 서블릿이 호출되고 난 후에 수행(후처리)시 사용. 필터를 사용하면 클라.. MyBatis로 대댓글 구현 배웠던 내용을 다시 한 번 정리해보는 글입니다 :) 코드는 답글을 작성할 수 있는 코드인데, 대댓글로도 구현이 가능할 것 같습니다. *팀프로젝트 파티쉐어의 partyboard를 참고로 게시글을 작성합니다. ERD: 게시글 작성 * Service @Transactional @Override public void regist(PartyBoardVO board) throws Exception { dao.register(board); // origin column 값을 등록된 게시글 번호로 수정 dao.updateOrigin(); } * DAO // 게시글 작성 @Insert("INSERT INTO partyboard(category,pnum,title,content,writer,mnum) " + "VALUES.. 개념정리 - REST API REST API란? REST 방식으로 제공되는 외부 연결 URL을 REST API라고 함. REST방식은 요청된 결과에 따라서 플랫폼에 상관없이 UI구성을 할 수 있도록 Data를 전달해준다. 사용자 편의성/확장성이 커지고 트래픽 자원을 아낄 수 있다. Spring에서는 @ResponseBody 또는 @RestController로 지원한다. Restful - 전송방식 GET - 데이터를 검색하는 경우 POST - 데이터를 생성하는 경우 PUT - 데이터를 업데이트 하는 경우 PATCH - 데이터의 부분값을 업데이트 하는 경우 DELETE - 데이터를 삭제하는 경우 개념정리 - Spring 스프링 프레임 워크의 특징이라면 1. 의존성 주입(Dependency Injection) 2. AOP지원을 꼽을 수 있습니다. 의존성 주입 스프링이 내부에 있는 객체(Bean)들 간의 관계를 관리할 때 사용함. 스프링은 의존성 주입을 프레임워크에서 처리하기 때문에 개발자는 자신이 만드는 객체나 클래스 외에는 신경쓰지 않고 코드를 만들고 자신의 코드에 필요한 객체는 스프링을 통해서 주입받는 구조로 작성됨. AOP 로그나, 보안같은 횡단 관심사를 분리해서 핵심 비즈니스 로직에만 집중해서 코드를 개발하게 한다. *(핵심 비즈니스는 아니지만 반드시 처리가 필요한 부분) (AOP 사용시 메소드 호출 전 후 적용이 가능함) 인텔리 j 세팅에서 plugin에서 lombok 추가, thymeleaf 추가 MAVEN 홈페이지에서 추가 (가져올때 gradle(short)로 가져옴) Spring Boot DevTools » 2.7.15 템플릿 엔진 사용 설정 Thymeleaf Layout Dialect 추가 타임리프 뷰 페이지 기본 경로 : templates 타임리프 사용 시 html 문서에 추가 SpringBoot 설치 Spring Tools 4 for Eclipse (sts사이트에서 설치) boot bersion 3점대 버전은 java17이상만 사용가능 SNAPSHOT : 개발중 # EclipseMarketplace : eclipse web Developer tools 설치 -> web 설정 UTF-8로 바꾸기 # springBoot에서는 기본적으로 jsp파일 지원x jsp 해석하는 jasper lib 필요함. https://start.spring.io/ 프로젝트를 만들어주는 사이트 *** sec 프로젝트 참고하기 mybtis lib 추가 시 database 설정 정보 없으면 실행 안됨. aplication.properties에 아래 내용 작성 \# server.port 설정 server.port=8081 \# dat.. 채팅구현 - 웹소켓통신 참고 : mvc_security_template pom.xml org.springframework spring-websocket ${org.springframework-version} root-context.xml에 등록 (이때 path가 SockJS 객체 생성시에 들어가는 url 요청 경로임) 1.ChatHandler 클래스 생성. public class ChatHandler extends TextWebSocketHandler { 메소드 : handleTextMessage : client에서 메세지 받으면 실행되는 메소드. .sendMessage : 클라이언트로 메세지를 보내는 메소드 2. 실제 자바스크립트로 jsp페이지에서 사용.(chat.jsp) ``` ``` SockJS 객체 - SockJS 생성.. spring security & DB 연계 참고 : mvc_security_template join.jsp에서 multipart/form-data라서 multipartResolver가 변환해줌 filter-resolver-servlet순서인데 security filter가 먼저 확인해서 token 없구나 라고 인식해버린다. -> filter 추가 등록 필요 springMultipartFilter org.springframework.web.multipart.support.MultipartFilter springMultipartFilter /* filterMultipartResolver 라고 root-context.xml에서 resolver 이름 변경(이름은 고정임) org.springframework.security spring-security-t.. 이전 1 2 3 4 다음