일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SpringBoot
- db
- JPQL
- 그리디
- Thymeleaf
- 김영한
- kotlin
- 자바
- 스프링 핵심 원리
- 알고리즘
- pointcut
- AOP
- java
- transaction
- jpa
- QueryDSL
- 스프링
- JDBC
- Greedy
- springdatajpa
- Android
- Spring Boot
- 스프링 핵심 기능
- Proxy
- spring
- http
- Exception
- Servlet
- 백준
- 인프런
- Today
- Total
목록SpringMVC (10)
개발자되기 프로젝트
1. 검증 로직 추가 타입 검증 가격, 수량에 문자가 들어가면 검증 오류 처리 필드 검증 상품명: 필수, 공백X 가격: 1000원 이상, 1백만원 이하 수량: 최대 9999 특정 필드의 범위를 넘어서는 검증 가격 * 수량의 합은 10,000원 이상 2.Controller의 역할 컨트롤러의 중요한 역할중 하나는 HTTP 요청이 정상인지 검증하는 것이다. 그리고 정상 로직보다 이런 검증 로직을 잘 개발하는 것이 어쩌면 더 어려울 수 있음 3. Client 검증, Server 검증 클라이언트 검증은 조작할 수 있으므로 보안에 취약하다. 서버만으로 검증하면, 즉각적인 고객 사용성이 부족해진다. 둘을 적절히 섞어서 사용하되, 최종적으로 서버 검증은 필수 API 방식을 사용하면 API 스펙을 잘 정의해서 검증 오류..
HTTP 메시지 컨버터는 SpringMVC 어디 쯤? 에서 사용됨....? 1. SpringMVC 구조 @RequestMapping을 처리하는 핸들러 Adapter인 RequestMappingHandlerAdapter에서 처리함. 2. RequestMappingHandlerAdapter 동작 방식 2.1 Argument Resolver annotation 기반 controller는 다양한 파라미터 사용 가능 HttpServletRequest, Model, @RequestParam, @ModelAttribute, @RequsetBody, HttpEnttiy 등등 이렇게 유연한 처리가 가능한 이유는 ArgumentResolver 때문임. annotaion기반 Controller를 처리하는 RequestMap..
1. Client에서 Server로 요청 데이터를 절달하는 세 가지 방법 GET - 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파리미터 형식으로 전달 username=hello&age=20 예) 회원 가입, 상품 주문, HTML Form 사용 HTTP message body에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용, JSON, XML, TEXT 데이터 형식은 주로 JSON 사용 POST, PUT, PATCH 2. Q..
1. 프로젝트 생성 프로젝트 선택 Project: Gradle Project Language: Java Spring Boot: 2.4.x Project Metadata Group: hello Artifact: springmvc Name: springmvc Package name: hello.springmvc Packaging: Jar Java: 11 Dependencies: Spring Web, Thymeleaf, Lombok 주의 `Packaging는 War가 아니라 Jar를 선택 JSP를 사용하지 않기 때문에 Jar를 사용 스프링 부트를 사용하면 주로 Jar사용 Jar를 사용하면 항상 내장 서버(톰캣등)을 사용, webapp 경로 사용하지 않음 내장 서버 사용에 최적화 War는 주로 외부 서버에 배포..
SpringMVC는 개발자가 편리하게 개발할 수 있도록 다양한 기능 제공. 1. SpringMemberFormControllerV3 반환 타입 annotation기반 Controller는 ModelAndView or String을 반환해도됨. return된 String을 기반으로 JSP찾아감. Http 메서드 지정 @RequestMapping(value = "/new-form", method = RequestMethod.GET) @GetMapping("/new-form") //@RequestMapping(value = "/new-form", method = RequestMethod.GET) @GetMapping("/new-form") public String newForm(){ return "new-fo..
1. Controller 통합 @RequestMapping는 메서드 단위에 적용된 것을 확인할 수 있다. 따라서 컨트롤러 클래스를 유연하게 하나로 통합할 수 있다. 클래스에 붙은 @RequestMapping()에 url의 공통 부분을 넣어도 가능.210912 SpringMVC @Controller @RequestMapping("/springmvc/v2/members") public class SpringMemberControllerV2 { private MemberRepository memberRepository = MemberRepository.getInstance(); @RequestMapping("/new-form") public ModelAndView newForm(){ return new Mod..
1.OldController - View 조회할 수 있도록 변경 @Component("/springmvc/old-controller") //빈 이름을 url패턴으로. public class OldController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("OldController.handleRequest"); return new ModelAndView("new-form"); } } 실행을 해보면 정상 호출은 되는데 Whitelabel Error Page ..
1. Controller 인터페이스, 구현 과거버전 SpringController org.springframework.web.servlet.mvc.Controller @Component("/springmvc/old-controller") //빈 이름을 url패턴으로. public class OldController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("OldController.handleRequest"); return null; } } @Compone..