Spring MVC - JSP, Servlet
2022. 9. 16. 18:45
Spring/Ch2. Spring MVC
Servlet vs Controller Servlet 은 class 마다 @WebServlet 을 사용해야 하기 때문에 클래스가 무한정 늘어나는 단점이 있다. 또한 HttpServlet 을 상속 받아야 하고 Service 메서드를 override 받아야 하기 때문에 한계가 명확하다. 파라미터 또한 HttpServletRequest, HttpServletResponse 를 모두 받아야 한다. 이런 점에서 Controller 가 더 발전된 형태이다. Servlet 의 생성주기 package com.fastcampus.app; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebS..
Spring MVC - servlet-context.xml
2022. 9. 16. 17:21
Spring/Ch2. Spring MVC
jsp 경로 지정 반환타입이 String 이면 /WEB-INF/views/yoil.jsp 반환 @Controller public class YoilTellerMVC { @RequestMapping("/getYoilMVC") // http://localhost/app/getYoilMVC?year=2021&month=10&day=1 public String main(int year, int month, int day, Model model) throws IOException { if(!isValid(year, month, day)) { return "yoilError"; } // 2. 처리 char yoil = getYoil(year, month, day); model.addAttribute("year", ..
Spring MVC - 관심사의 분리
2022. 9. 15. 22:16
Spring/Ch2. Spring MVC
객체 지향 프로그래밍 5대 원칙 SOLID SRP(단일 책임의 원칙), Single Responsibility Priciple OCP(개방-폐쇄 원칙), Open-Closed Priciple LSP(리스코프 치환 원칙), Liskov Substitution Priciple ISP(인터페이스 분리 원칙), Interface segregation principle DIP(의존 역전 원칙), Dependency Inversion Priciple SRP - 단일 책임의 원칙 하나의 메서드는 하나의 책임(관심사) 분리 : 1. 관심사 2. 변하는 것, 변하지 않는 것 3. 중복 코드 공통 코드의 분리 - 입력의 분리
Spring MVC - HTTP(Hyper Text Transfer Protocol)란?
2022. 9. 15. 21:30
Spring/Ch2. Spring MVC
HTTP 단순하고 읽기 쉽다. - 텍스트 기반의 프로토콜 상태를 유지하지 않는다. - Stateless : 클라이언트 정보를 저장 하지 않아. 같은 클라이언트가 요청한 것인지 구별 하지 못함 해결 방법을 쿠키와 세션을 사용 확장 가능하다. - 커스텀 헤더(header) 추가 가능 : 대소문자 구분 X, 공백 무시 HTTP 메서드 - GET, POST GET POST - 서버의 리소스를 가져오기 위해 설계 - QUERY STRING 을 통해 데이터를 전달(소용량) - URL 에 데이터 노출 되므로 보안에 취약 - 데이터 공유에 유리 ex. 검색엔진에서 검색단어 전송에 이용 - 서버에 데이터를 올리기 위해 설계됨 - 전송 데이터 크기에 제한이 없음(대용량) - 데이터를 요청 메시지에 body 에 담아 전송 ..
Spring MVC - server.xml, web.xml
2022. 9. 15. 17:15
Spring/Ch2. Spring MVC
톰캣설치경로/conf/server.xml : Tomcat 서버 설정 파일 톰캣설치경로/conf/web.xml : Tomcat의 모든 web app의 공통 설정 웹앱이름/WEB_INF/web.xml : web app의 개별 설정 sever.xml Server(Tomcat) --> Service(catarina) Connector port 를 80으로 하면 localhost:8080 에서 8080 안 써도 됨 Host web.xml(공통) 원격프로그램 1. 서블릿 등록 2. URL 연결 지금은 어노테이션으로 많이 함 1. 서블릿 등록 ==> @Controller default org.apache.catalina.servlets.DefaultServlet debug 0 listings false 1 2. UR..