전체 글(118)
-
Spring @ResponseBody, content-type
@ResponseBody Controller에서 사용할 수 있는 @중에 @ResponseBody가 있다. 일반적으로 Spring에서 요청을 처리하는 메소드를 만들면 다음과 같다. package com.study.temp; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class TempController { @RequestMapping("/idcheck.wow") public String idCheck(String id) { return "idcheck"; } } 이 때 idcheck.wow로 요청을 보낸다면 Disp..
2022.04.04 -
Spring AOP적용해보기- Controller 파라미터
컨트롤러 메소드로 오는 파라미터가 의도한대로 잘 넘어오는지 콘솔로 확인하고 싶습니다. freeList 메소드뿐만아니라 freeView에도 적용해본다면 다음과 같이 작성합니다. FreeBoardController.java private Logger logger= LoggerFactory.getLogger(this.getClass()); @RequestMapping("/free/freeList.wow") public String freeList(Model model, @ModelAttribute("searchVO") FreeBoardSearchVO searchVO) { logger.info("searchVO : {}" , searchVO); //freeList의 searchVO 확인 List freeBoar..
2022.04.04 -
Spring log4j 적용하기
일단 spring 프로젝트를 만들면 기본적으로 log4j에 관한 lib는 추가되어있다. pom.xml junit junit 4.7 test org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} runtime org.slf4j slf4j-log4j12 ${org.slf4j-version} runtime log4j log4j 1.2.15 javax.mail mail javax.jms jms com.sun.jdmk jmxtools com.sun.jmx jmxri runtime spring 프로젝트의 Java Resource를 보면 src/main 과 src/test가 있다. 이 중 test는 실제 배포할 때는..
2022.03.31 -
Spring Interceptor
Interceptor란 Interceptor는 낚아채다의 의미를 가지고있다. Client에서 Server로 들어온 Request 객체를 Controller의 Handler로 도달하기 전 가로채어, 원하는 추가 작업이나 로직을 수행 한 후 Handler로 보낼 수 있도록 해주는 Module이다. Handler(우린 @Controller)가 실행되기 전에 HandlerInterceptor가 먼저 실행된다. HandlerInterceptor를 거쳐 Request에 대해 원하는 작업, 로직을 수행한 후 Controller로 Request 객체를 전달한다. 보통 Login, 권한체크, Header나 Login Session 검증, 권한체크, API TOKEN 검증 등에 사용된다. Login인을 예로 들면 로그인을..
2022.03.30 -
Spring validation -(2)
FreeBoard에 적용해봤다면, Member에도 적용해보려고 한다. 그런데 아직 배우지는 않았지만 사실 localhost:8080/study4/ member/* 에 해당하는 url은 특정권한을 가진 MANAGER만 접속할 수 있게 하려고 한다. memberList게시판같은 경우는 사실 다른 회원의 정보를 볼 수 있으므로 일반 회원은 접근 할 수 없다. 그래서 memberModify.wow, memberRegist.wow url에 validation을 적용하기 보단 실제로 일반 회원이 회원가입하는 과정과 자기 정보를 수정하는 페이지를 만들어보고 거기에 validation을 적용해보자. https://drive.google.com/drive/folders/1Ipx2E34o3D0xER--DolOR3g7Xnv..
2022.03.29 -
Spring Validation -(1)
자바 validation 개요 우리는 web에서 데이터를 입력할 때 다음과 같이 비밀번호가비어있는지 아닌지 등에 관한 검사를 할 수 있다.이런 검사를 사용할 때 required="required">를 사용해서 할 수도 있을 것이다.하지만 이는 f12를 눌러서 태그에서 required="requred" 부분만 삭제하면데이터가 넘어가서 서버 DB에 원하지 않는 값,이를테면 비밀번호 컬럼에 null or "공백" 값이 들어갈 수도 있다. 물론 DB에서 컬럼에 null 허용을 안 하게 할 수도 있지만 이 경우 mybatis 실행 도중 에러가 발생할 것이다. 만약 서버에서 파라미터 검증이 없다면 이대로 DB에 저장될 것이다.어떤 사용자는 나이를 int형 어떤 사용자는 String으로, 또는 이메일을 ..
2022.03.25