목록BE (354)
오봉이와 함께하는 개발 블로그
서블릿과 파일 업로드 2 서블릿이 제공하는 Part에 대해 알아보고 실제 파일도 서버에 업로드 해보자. 먼저 파일을 업로드를 하려면 실제 파일이 저장되는 경로가 필요하다. 해당 경로에 실제 폴더를 만들어두고, 만들어진 경로를 입력하자. application.properties file.dir=파일 업로드 경로 설정(예): /Users/gobyeongchae/Desktop/fileUploadV1/ 주의 사항 꼭 해당 경로에 실제 폴더를 미리 만들어두자. application.properties에서 설정할 때 마지막에 /(슬래시)가 포함된 것에 주의하자. ServletUploadControllerV2 @Slf4j @Controller @RequestMapping("/servlet/v2") public cla..
서블릿과 파일 업로드 1 먼저 서블릿을 통한 파일 업로드를 알아보자. ServletUploadControllerV1 @Controller @Slf4j @RequestMapping("/servlet/v1") public class ServletUploadControllerV1 { @GetMapping("/upload") public String newFile() { return "upload-form"; } @PostMapping("/upload") public String saveFileV1(HttpServletRequest request) throws ServletException, IOException { log.info("request = {}", request); String itemName = ..
파일 업로드 소개 일반적으로 사용하는 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. 참고 : https://5bong2-develop.tistory.com/266 HTML 폼 전송 방식 application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded 방식 application/x-www-form-urlencoded방식은 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다. Form 태그에 별도의 enctype옵션이 없으면 웹 브라우저는 요청 HTTP 메시지의 헤더에 다음 내용을 추가한다. Content-Type: application/x..
스프링이 제공하는 기본 포맷터 스프링은 자바에서 기본으로 제공하는 타입들에 대해 수 많은 포맷터를 기본으로 제공한다. IDE에서 Formatter인터페이스의 구현 클래스를 찾아보면 수 많은 날짜나 시간 관련 포맷터가 제공되는 것을 확인할 수 있다. 그런데 포맷터는 기본 형식이 지정되어 있기 때문에, 객체의 각 필드마다 다른 형식으로 포맷을 지정하기는 어렵다. 스프링은 이런 문제를 해결하기 위해 어노테이션 기반으로 원하는 형식을 지정해서 사용할 수 있는 매우 유용한 포맷터 두 가지를 기본으로 제공한다. @NumberFormat : 숫자 관련 형식 지정 포맷터 사용, NumberFormatAnnotationFormatterFactory @DateTimeFormat : 날짜 관련 형식 지정 포맷터 사용, Js..
포맷터 적용하기 포맷터를 웹 애플리케이션에 적용해보자. WebConfig - 수정 @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addFormatters(FormatterRegistry registry) { // 주석처리 우선순위 // registry.addConverter(new StringToIntegerConverter()); // registry.addConverter(new IntegerToStringConverter()); registry.addConverter(new IntegerToStringConverter()); registry.addConverter(new IpPortTo..