Spring/Servlet (6) 썸네일형 리스트형 뉴렉처 서블릿4 - 공지사항 게시판 만들기 예제 코드의 분리 필요에 따라서, 작업 범위에 따라서 코드를 잘개 분리할수도 있고, 통합적으로 처리할 수 있다. 기본적으로 사용자의 요청을 처리하고 제어를 담당하는 Servlet(Controller), 문서를 출력하는 View(.jsp)가 존재한다. 혼자 개발하고 서비스할 때는 단순히 코드를 둘로 분리해도 좋지만, 여럿이서 협업하고 분업해야 할 때는 업무서비스(트랜잭션)을 사용자 입출력 Servlet과 분리하는 게 보편적이다. 예를 들어 계좌이체같은 요청이 오면 Servlet은 이를 업무서비스로 전달하고 결과를 받아 문서로 받아 view단으로 전달한다. 이를 통해 실수를 최소화하고 업무서비스의 재사용이 가능해진다. Servlet의 경우 변경사항이 비교적 많기 때문에 이런 코드의 분리는 협업에서 더욱 효율을 높.. 뉴렉처 스프링 MVC 톰캣을 가지고 웹개발 가능 Tomcat (Tomcat Configuration) - web.xml - 사용할 라이브러리 인스턴스화(설정) Mybatis, Tiles, ... -Spring Dispatcher : front Controller를 스프링이 제공 Spring Web (Spring Configuration) - web.xml에 Spring Dispatcher을 올리면 Spring이 모든 것을 관할하려고 함 (라이브러리 기타 등등) + 사용할 라이브러리 인스턴스화(설정) Mybatis, Tiles, ... -Spring Dispatcher : front Controller를 스프링이 제공 - Servlet | Service | Security | Mybatis | Tiles ... - XML에 A.. 뉴렉처 서블릿3 - MVC Model | EL | 태그라이브러리 out.write(""); 출력 부분을 jsp페이지로 넘길 예정 jsp는 add.jsp 파일명 그대로 URL매핑되어 실제 만들어진 서블릿 코드는 "\work\Catalina\~~~~\add_jsp.java"가 됨 doGet에서 직접 out.write할 필요 없이 calculator.jsp파일을 만듦 ${3+4} → 7로 출력됨 서버 재가동할 필요없이 새로고침만 해도 변동 반영 서버 OPEN 혹은 더블클릭 시 sever 설정창 열림 WebContent : 개발 디렉토리 Server path : 임시 배포 디렉토리 [컴파일된 배포 파일] workspace/.metadata/.plugins/org.eclipse.wst.server.core/temp0/work/Catalina/localhost/Root/org/.. 뉴렉처 서블릿2 (동적 페이지 | doGet, doPost) @WebServlet("/calcpage") //경로가 같을때는 /를 생략하고 calcpage로 쓸 수 있다. html 페이지를 자바 클래스(서블릿 코드)로 가져와 출력하고 있다 out.write("html태그들"); 동적으로 주고 싶을 때 out.write 대신 out.printf 쓴다 out.printf("~~~%d~~", exp); -> 7 출력하는 페이지 [순서상 두번째 혹은 초기화면] package com.newlecture.web; [CalcPage.java파일] @WebServlet("/calcpage") public class CalcPage extends HttpServlet { protected void service(HttpServletRequest request, HttpServle.. 스프링 애너테이션 개발자가 만드는 빈은 클래스에서, 스프링이 하는 빈은 xml파일에서 어노테이션 만드는 법 1단계 DefaultAnnotationHandlerMapping 클래스 레벨에서 @RequestMapping AnnotationMethodHandlerAdapter 메서드 래벨에서 @RequestMapping 2단계 태그 선언 @Controller : 스프링 테이너가 component-scan에 의해 지정한 클래스를 컨트롤러 빈으로 자동 변환 @Service : 서비스 빈으로 자동 변환 @Repository : DAO 빈으로 자동 변환 @Component : 빈으로 자동 변환 MainController //역할 //@Controller("mainController")애너테이션은 주로 Controller 클래스에 위치.. 뉴렉처 서블릿 Tomcat 수동실행 : bin - startup.exe 브라우저에서 localhost:포트번호/파일이름 HOME(=WebContent) /WEB-INF/classes/여기에 .class(컴파일된)파일이 있어야 찾을 수 있음 그러나 실제로 웹문서를 요청할 때는 WEB-INF에 접근할 수 없음, 서버쪽(WAS, TOMCAT)에서만 사용 가능 즉 비공개영역이기 때문에 설정 관련된 파일을 저장하기도 함 URL과 실제 클래스 파일을 매핑해야함 web.xml파일 na com.newlecture/Nana na /hello 출력 1. 서버로 출력 -->단순 매핑으로는 서버 콘솔에만 출력됨 2. 웹(클라이언트)에게 출력 서블릿 : 입출력을 웹으로 할 수 있음 - 요청도구 request - 출력,응답도구 response.. 이전 1 다음