웹개발/Spring
-
Spring MVC(@RequestBody, HttpEntity, @ResponseBody, ResponseEntity)웹개발/Spring 2020. 7. 30. 20:27
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. 1, @RequestBody - 요청본문에 있는 형태가 json데이터 등이 있을 때 HttpMessageConverter를 통하여 변환한 객체로 받을 수 있게 해 준다. - 유효성 검사가 가능하고 BindingResult를 통하여 타입 매칭이 잘 못 되었을 시 처리가 가능하다. - HttpMessageConverter는 WebMvcConfigurer를 통하여 추가를 하거나 다시 설정이 가능하다. 1) 추가시 : extendMessageConverters를 override 설정시 : configureMessageConverters를 override 2) 기존 컨버터 : WebMvcConfigurationSupport.addDefaultHtt..
-
Spring MVC(MultipartFile와ResponseEntity)웹개발/Spring 2020. 7. 30. 19:59
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. - 파일 업로드시 사용한다 - MultipartResolver빈이 설정이 되어 있어야 사용이 가능(스프링 부트가 자동적으로 설정) File: 해당 html파일은 multipart/form-data타입으로 요청을 보내줌 org.apache.tika tika-core 1.24.1 @Controller public class FileController { @Autowired private ResourceLoader resourceLoader; @PostMapping("/file") public String fileUpload(@RequestParam MultipartFile file, RedirectAttributes attributes){ /..
-
Spring MVC(RedirectAttribute)웹개발/Spring 2020. 7. 30. 19:31
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. 이전에 폼 서블릿 오류로 인하여 post방식으로 받은 것을 다시 get 매핑으로 redirect 하여 처리하는 것에 대하여 공부를 하였다. 이번에는 redirect를 할 때 값을 전달하는 몇 가지 방법에 대하여 살펴본다. 1, model을 이용하는 방법 - 기본적으로 스프링 부트에서는 지원을 하지 않는다.(WebMvcProperties에서 ignoreDefaultModelOnRedirect값이 true 이기 때문) - 설정을 바꾸기 위해서는 application.properties에 다음과 같은 구문을 추가 spring.mvc.ignore-default-model-on-redirect=false 2, 파라미터로 RedirectAttribu..
-
Spring MVC(세션 관리)웹개발/Spring 2020. 7. 28. 03:02
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. 세션 : 네트워크 환경에서 connectionless한 문제를 해결하기 위하여 존재 일정시간동안 같은 사용자로부터 오는 요청을 하나의 상태로 저장 Event class public class Event { interface ValidateLimit{} interface ValidateName{} private Integer id; @NotBlank(groups = ValidateName.class) private String name; @Min(value = 0, groups = ValidateLimit.class) private Integer limit; public Integer getLimit() { return limit; } pu..
-
Spring MVC(폼 서블릿 오류 해결)웹개발/Spring 2020. 7. 28. 02:00
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. 똑같은 데이터를 요청을 하게 되면 그에 따른 메시지가 출력이 된다. 하지만 똑같은 데이터를 보내고 이를 데이터베이스나 혹은 다른 Repository에 저장을 해야 할 필요가 있다. 따라서 이는 Post/Redirect/Get 패턴으로 처리하여 문제를 해결할 수 있다. Post요청으로 데이터를 보낸 다음 로직을 수행 한 후 Get요청을 redirect한후 로직을 수행하고 뷰를 매핑하면 해당 문제를 해결할 수 있다. Event Class public class Event { interface ValidateLimit{} interface ValidateName{} private Integer id; @NotBlank(groups = Valid..
-
Spring MVC(@ModelAttribute, @Valid, @Validated)웹개발/Spring 2020. 7. 28. 01:17
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. 1,@ModelAttribute - 파라미터로 오는 사항들을 파라미터 타입을 임의 클래스 타입으로 받아오면서 파라미터 명과 필드명이 같으면 자동으로 매핑이 되어 저장이 됨 - 바인딩 오류 시에는 오류 발생, 그러나 BindingResult변수를 이용하여서 오류를 발생시키지 않고 타입이 다르면 null값을 대신 저장 후 오류 사항을 메시지 형태로 출력이 가능 -해당 선언 후 자동으로 진행이 되는 작업 1, MemberInfo클래스의 객체(받아오는 객체) info를 자동으로 생성 2, 해당 파라미터 명으로 자동으로 매핑이 됨 3, 자동으로 Model객체에 추가가 되고 뷰까지 전달이 됨 -()안에 오는 인자는 지정한 문자열의 이름으로 Menbe..
-
Spring MVC(html과의 매핑)웹개발/Spring 2020. 7. 28. 00:39
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. 1, 주고받을 데이터를 사용하기 위하여 간단한 Event 객체 생성 public class Event { private Integer id; private String name; private Integer limit; public Integer getLimit() { return limit; } public void setLimit(Integer limit) { this.limit = limit; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public ..
-
Spring MVC(요청 매개변수)웹개발/Spring 2020. 7. 26. 17:10
이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다. 1, @RequestParam의 사용 요청 매개변수에 들어있는 단순 타입 데이터를 받아옴 1) url : "/events?name=test" @Controller public class SampleController { @PostMapping("/events") @ResponseBody public Event getEvent(@RequestParam String name) { Event event = new Event(); event.setName(name); return event; } } 다양한 파라미터들 사용 가능 value : 파라미터를 url 에 있는 키 이름으로 찾을 때 사용하나 파라미터 이름이 같으면 생략이 가능함 requir..