Spring19 Spring json관련 처리 이제 json관련 처리하는 방법으로 알아보겠습니다. 받은 라이브러리는 하나지만 들어와있는 jar파일은 3개인걸 확인할수 있습니다. presentation-layer.xml에 빈으로 등록해서 사용할 준비를 해야합니다. 이제 컨트롤러에서 다음과 같이 추가해주면됩니다. @ResponseBody 어노테이션을 넣어주면 return타입이 객체일경우에 json형태로 바꿔줍니다. json형식으로 변환하기 -jackson2 -HttpMassageConvertor등록 -MappingJackson MassageConverter 2022. 8. 19. Spring 파일 업로드 다음과 같이 파일 업로드 jsp를 준비하고 시작하겠습니다. 첫번째로 vo객체에 추가하겠습니다. getter,setter 잘 들어가있는지 확인해줘야합니다. 이제 MVNrepository에서 commons fileupload를 받아서 pom.xml에 넣고 라이브러리를 사용할 준비를합니다. pom.xml에 maven을 넣주고나서 외부에서 가져온 라이브러리를 사용하려면 bean등록을 해줘야만 사용할수있다. 그렇기 때문에 presentation-layer.xml에 bean으로 등록해줌으로 스프링 컨테이너가 인식할수 있도록 해줍니다. 왜냐면 화면에 파일을 등록하기 때문에 화면 영역인 servlet-context.xml 부분이기때문에 presentation-layer.xml 여기에 넣어주는것이다. MultipartF.. 2022. 8. 19. Spring 게시판 검색기능 구현 다음과 같은 getBoardList의 form 형태입니다. 같은 URL안에서 검색했을땐 URL 변화가 없고 같은 URL에서 새로고침하는 방법으로 구현해야합니다. 검색 눌러도 url 변화가 없고, 게시판 검색만 되어야합니다. action="getBoardList.do" 여서 검색 눌르면 다시 컨트롤러를 호출하게 됩니다.이제 할 방식은 vo를 통해서 값을 받아서 처리하는 방향으로 해보겠습니다. vo객체 다음과 같이 추가하고나서 DAO 객체에서 getBoardList에 매개변수를 BoardVO vo를 넣어주고 조건에 의해 어떤 SQL을 사용할지 넣습니다. 다시 springDAO로 돌아와서 getBoardList의 경우에는 ? 공간에 넣어줘야하는 방법을 생각해봐야하는데 그부분은 args 배열을 통해서 어떤 ar.. 2022. 8. 19. Spring 비즈니스 계층과 영속계층의 분리 이때까지 컨트롤러에서 하나씩 BoardDAO 객체를 하나씩 만들어서 사용했지만, 이제는 BoardService 인터페이스를 통해 DAO객체를 직접 만들지 않고 boardService 객체를 통해서 사용할것이다. 추신) 문제생기면 BoardDAO랑 BoardServiceImpl 를 보면 됩니다. 이렇게 객체를 만들고 나면 컨트롤러는 DAO를 매개변수로 가질 필요가 없어지면서 boardDAO를 직접적으로 사용할 필요가 없습니다. 계층은 2개가 있는데 1.root-context (먼저 만들어져야함.) DAO,VO 관련 bean연결 설정해주는 스프링컨테이너 설정 -applicationContext.xml이 이 역할이기 때문에 web.xml에 다음과 같이 만들어주면 스프링컨테이너가 경로를 찾아서 applicati.. 2022. 8. 19. Spring (@SessionAttribute,@ModelAttribute) -@SessionAttribute에서 세션 영역에 저장한 값을 command객체에 setter 주입합니다. @RequestParam @SessionAttributes HttpSession을 직접 사용할 수도 있지만 이 어노테이션을 설정한 이름에 해당하는 모델 정보를 자동으로 세션에 넣어줍니다. @ModelAttribute는 세션에 있는 데이터도 바인딩합니다. 여러 화면에서 사용해야 하는 객체를 공유할 때 사용합니다. 직접 사용해서 확인해보겠습니다. 예를 들어 수정 폼에서 수정(submit)을 누르고나면 updateBoard.do를 호출하게 되고 컨트롤러중에서 requestmapping("/updateBoard.do")가 이걸 처리해주게 되는데 현재 폼에서 수정했던 부분을 vo.setWriter(rs.ge.. 2022. 8. 19. Spring requestMapping 공부하기 다음과 같이 같은 url에서 2가지의 메소드가 작동해야하는데 하나는 GET방식, 하나는 POST방식일때 구분을 해줘야한다. POST방식으로 vo에 값을 보내줌으로서 getBoardList에서 userName을 사용할수 있게 되었습니다. 2022. 8. 18. Spring (@Controller,@RequestMapping) presentation-layer.xml에 namespaces에서 context를 체크하고 콘텍스트를 사용할 준비를 합니다. 다음과 같이 컴포넌트스캔을 패키지로 설정을 해서 스캔할 범위를 설정해줍니다. 그리고 클래스위에 @controller @component @repository @ 이전엔 스프링 컨테이너에서 제공하는 컨트롤러를 상속받은 상태로 사용했지만 이제는 어노테이션 방식으로 사용하기 때문에 import 해야 하는 controller가 다르니 확인해줘야 합니다. 그리고 xml에 bean으로 잘 들어와 있는지 확인해줘야 합니다. 다음과 같이 requestMapping은 이전에 bean 방식에서 핸들러 mapping과 같은 역할 수행 중입니다. Commnad 객체( VO클래스 ) controller로.. 2022. 8. 18. Spring ViewResolver 사용해보기 현재 다음과 같이 webapp 안에 바로 jsp들이 들어있는데 이제 WEB-INF / views 안에 넣어서 url을 통한 직접 접근이 불가능하게끔 만들어 보겠습니다. WEB-INF : url을 통한 jsp 파일을 직접 접근이 불가능하다 그러므로 controller를 통한 접근만 가능합니다. 추가로 presentation-layer.xml에 bean을 등록해 줘야 하는데 이때 주의해야 할 점은 id는 꼭 viewResolver를 사용해줘야 합니다. 이렇게 만들면 페이지 이동할때 bean에 등록된 resolver를 스프링컨테이너가 확인하고 controller를 통해서 화면에 출력시켜줍니다. 하지만 기존에 적은 LoginController를 보면 다음과 같이 만들어뒀는데 bean에 등록된 resolver에 .. 2022. 8. 18. Spring으로 MVC 2구조 알아보자 1.web.xml 확인해보기 공부를 위해 직접 DispatcherServlet 클래스를 만들어서 사용해봤는데 이제는 스프링 컨테니어가 제공하는 DistpatcherServlet을 사용해보겠습니다. 뜻 : .do 로 끝나는 url 만 스프링 컨테이너가 제공하는 DistpatcherServlet이 처리한다. 위에 서블릿 name을보고 밑에 서블릿 name이 똑같은 서블릿name을 찾아서 보고 결정됩니다. 이상태로 시작할 경우에 다음과 같은 에러가 발생하게 됩니다. WEB-INF안에 폴더안에 확장자.xml 이라는 파일을 찾아서 확인해야하는데 다음과 같은 파일이 없이 떄문에 만들어줘야합니다. 파일명은 뭐가 되었든 상관없습니다. 만들고 나서 web.xml에서 만든걸 사용하겠다~!! 라고 적어줘야 인식을 할수 있습.. 2022. 8. 17. 이전 1 2 3 다음