Spring/Spring 실습

컨트롤러 메소드로 오는 파라미터가 의도한대로 잘 넘어오는지 콘솔로 확인하고 싶습니다. 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..
일단 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는 실제 배포할 때는..
Interceptor란 Interceptor는 낚아채다의 의미를 가지고있다. Client에서 Server로 들어온 Request 객체를 Controller의 Handler로 도달하기 전 가로채어, 원하는 추가 작업이나 로직을 수행 한 후 Handler로 보낼 수 있도록 해주는 Module이다. Handler(우린 @Controller)가 실행되기 전에 HandlerInterceptor가 먼저 실행된다. HandlerInterceptor를 거쳐 Request에 대해 원하는 작업, 로직을 수행한 후 Controller로 Request 객체를 전달한다. 보통 Login, 권한체크, Header나 Login Session 검증, 권한체크, API TOKEN 검증 등에 사용된다. Login인을 예로 들면 로그인을..
FreeBoard에 적용해봤다면, Member에도 적용해보려고 한다. 그런데 아직 배우지는 않았지만 사실 localhost:8080/study4/ member/* 에 해당하는 url은 특정권한을 가진 MANAGER만 접속할 수 있게 하려고 한다. memberList게시판같은 경우는 사실 다른 회원의 정보를 볼 수 있으므로 일반 회원은 접근 할 수 없다. 그래서 memberModify.wow, memberRegist.wow url에 validation을 적용하기 보단 실제로 일반 회원이 회원가입하는 과정과 자기 정보를 수정하는 페이지를 만들어보고 거기에 validation을 적용해보자. https://drive.google.com/drive/folders/1Ipx2E34o3D0xER--DolOR3g7Xnv..
자바 validation 개요 우리는 web에서 데이터를 입력할 때 다음과 같이 비밀번호가 비어있는지 아닌지 등에 관한 검사를 할 수 있다. 이런 검사를 사용할 때 를 사용해서 할 수도 있을 것이다. 하지만 이는 f12를 눌러서 태그에서 required="requred" 부분만 삭제하면 데이터가 넘어가서 서버 DB에 원하지 않는 값, 이를테면 비밀번호 컬럼에 null or "공백" 값이 들어갈 수도 있다. 물론 DB에서 컬럼에 null 허용을 안 하게 할 수도 있지만 이 경우 mybatis 실행 도중 에러가 발생할 것이다. 만약 서버에서 파라미터 검증이 없다면 이대로 DB에 저장될 것이다. 어떤 사용자는 나이를 int형 어떤 사용자는 String으로, 또는 이메일을 email 형식을 지키지 않고 보낼 수..
에러는 기본적으로 첫번째 줄을 봅니다. 에러종류와 그와 관련된 자세한 사항이 적혀져있습니다. 에러를 잘 읽어보고 기억하도록합시다. 시도때도없이 에러가 찾아오지만, 생각보다 원인과 해결방법이 많지는 않습니다. NullPointerException처럼 자세한 내용이 나오지않는 에러의 경우 대부분 에러위치를 알려줍니다. 에러를 보고 내가 작성한 파일을 찾습니다. 초록색으로 밑줄친 부분에서 발생한 에러기 때문에 가서 해결해줍시다. (NullPointerExcpetion을 해결하지 못한다면 당장 에러를 해결하는데에만 급급해하지말고 NullPointerExcpetion이 뭔지 왜 발생하는지, 어떻게 해결하는지에 대한 공부를 하셔야합니다. 다른 에러들도 마찬가지입니다. ) 서버 켜질 때 web.xml에 보면 Cont..
앞의 글을 착실히 수행했다면 study4_1 프로젝트는 다음과 같을것이다. pom.xml과 web.xml, 그리고 spring 폴더의 appconfig.properties,context-*.xml, mvc-servlet.xml 파일들은 만들어져있을 것이다. 그리고 프로젝트 세팅도 되어있을 것이다. 이전글 https://brilliantdevelop.tistory.com/88을 참고하자. (context는 context-main, context-datasource.xml로 나누었다.) 이 설정파일들에 맞춰서 java파일들과 그 외기타파일들을 만들것이다. 복사 https://brilliantdevelop.tistory.com/category/jsp 의 글들을 진행했다면 다음과 같은 프로젝트가 완성되었을 것이..
WebApplicationContext(DispatcherServlet)설정파일은 mvc-servlet.xml이다. Controller단 관련 빈들을 등록해준다. 즉, mvc-servlet에서는 @Controller를 스캔하도록 하면된다. 물론 @Controller뿐만아니라 Controller 단에서 사용하는 여러 빈들을 등록하면된다. 근데 이런 빈들은 각각의 역할이 있기 때문에 단순히 빈 등록 방법만 하기보다는 이 DispatcherServlet이 어떤식으로 동작하는지를 알아야한다. 그 후 mvc-servlet.xml 내용을 살펴보자. 기본적으로 우리가 만드는 Controller는 다음과 같은 형태를 띈다. @Controller public class FreeController { @RequestMap..
일단 context-*.xml을 살펴보기 전에 완성된 (또는 앞으로 완성할 )프로젝트 4_1의 파일 구성을 살펴보자. 이런 파일구성하에서 원할하게 동작하도록 context-*.xml과 mvc-servlet.xml을 작성해야 할 것이다. 이전 글에서 spring 빈 설정은 다음과 같이 한다 했다. ApplicationContext(ContextLoaderListener)설정파일은 context-*.xml 이다. 여기서 Service,Dao빈들을 등록해준다. WebApplicationContext(DispatcherServlet)설정파일은 mvc-servlet.xml이다. 여기서 Controller 빈들을 등록해준다. context-main.xml 여기에 이제 Service,Dao단의 빈들을 등록하려고한다...
이클립스 Spring MVC 프로젝트 만들기 new-other를 클릭한 후 spring을 검색, spring legecy 프로젝트 선택 next 선택 후 spring MVC Project 선택. 프로젝트이름은 study4_1 이 후 project setting 창에서는 패키지를 3단까지 쓰면 된다. 여기서 작성한 패키지에 HomeController가 위치하게 된다. 적당히 com.study.home으로 작성하자. com.study.home에 HomeController가 있는 것을 확인할 수 있다. 프로젝트 세팅 1. 프로젝트 properties spring legecy프로젝트는 기본적으로 빌드를 Maven으로 한다. Maven은 빌드된 파일을 배포할 때 jre가 아닌 jdk를 필요로 한다. 그래서 프로젝..
한창희
'Spring/Spring 실습' 카테고리의 글 목록 (2 Page)