inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

DB에서 조회된 다건의 데이터를 처리할 때

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

안녕하세요 강사님 저 강의를 다회차 보면서 궁금한 점이 생겨서요. 기존 코드 public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO) { var configuration = new MapperConfiguration(cfg => { }); //Response..DTO 생성후 Controller로 전달 // Perform mapping Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc=mapper.Map<GetUserDTO,Dictionary<string, object> >(getUserDTO); dc.Remove("Password"); ProcCall procCall= new ProcCall(); DataTable dt = await procCall.RequestProcedure("sp_login", dc); GetUserResponseDTO dto = new GetUserResponseDTO(); dto.Id = (int)dt.Rows[0]["id"]; dto.Userid = dt.Rows[0]["userid"].ToString(); dto.Username = dt.Rows[0]["Username"].ToString(); dto.Point = (int)dt.Rows[0]["Point"]; return dto; } 로그인 서비스의 관련하여 dto의 담기는 오브젝트가 적고 단 건이라 이러한 방식으로 처리가 가능한 것 같습니다. 해당 부분의 활용하여 다건의 데이터를 처리하기는 어려울 것 같은데 어떤 방식이 있는지 확인 가능할까요??

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
wltn07551 댓글 1 좋아요 0 조회수 244

jsp 파일 인식문제

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. build.gradle plugins { id 'java' id 'war' id 'org.springframework.boot' version '3.2.5' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' // jsp 추가 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:10.1.17' implementation 'javax.servlet:jstl' // jsp 추가 끝 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } 현재 aaa.html과 new-form.jsp 파일이 같은 경로에 있는데 jsp 파일만 못찾겠다고 뜹니다.. 해결해 보려고 webConfig 파일 만들어서 설정도 해보고 properties파일에도 설정을 해보았는데 안되네요.. 무엇이 문제일까요?? WebConfig.java @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void configureViewResolvers(ViewResolverRegistry registry) { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/static/jsp/members/"); resolver.setSuffix(".jsp"); registry.viewResolver(resolver); } } application.properties spring.mvc.view.prefix=/static/jsp/members/ spring.mvc.view.suffix=.jsp resources/static/jsp/members/new-fom.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/jsp/members/save.jsp" method="post"> username: <input type="text" name="username"> age: <input type="text" name="age"> <button type="submit">전송</button> </form> </body> </html> webapp폴더가 없이 resources폴더가 있는게 문제인걸까요? 김영한강사님 강읠르 보면 webapp/... 이런경로에 파일을 생성하시던데 저는 프로젝트를 생성하니 webapp폴더 없이 resources폴더만 있어서 그냥 사용하고 있는데..

  • spring
  • mvc
gh3298 댓글 2 좋아요 0 조회수 1405

response.getWriter().write와 그냥 return ok

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. v1에서는 response.getWriter().write("ok");, v2에서는 return "ok";을 해주시는데 이유가 뭘까요?? @PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); log.info("messagebody={}", messageBody); HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); log.info("username={}, age={}", helloData.getUsername(), helloData.getAge()); response.getWriter().write("ok"); } @ResponseBody @PostMapping("/request-body-json-v2") public String requestBodyJsonV2(@RequestBody String messageBody) throws IOException { log.info("messagebody={}", messageBody); HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); log.info("username={}, age={}", helloData.getUsername(), helloData.getAge()); return "ok"; }

  • spring
  • mvc
김철준 댓글 1 좋아요 0 조회수 521

MemberServiceIntegrationTest질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. MemberServiceIntegrationTest을 수행하다가 자꾸 한정자 관련 오류가 떠서 처음부터 다시 진행하였는데요, 이번에는 MemberServiceIntegrationTest에서 import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; 의 import하는 부분에서 인식이 안됩니다.. 위와 같은 오류의 원인을 알고싶습니다 ㅜㅜ

  • java
  • spring
  • mvc
  • spring-boot
enaak 댓글 1 좋아요 0 조회수 222

cshtml.css, cshtml.cs 비하인드 코드 추가 방법

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

아래와 같이 css를 추가 했는데 적용이 되지 않습니다. asp.net core mvc로 했을 때 아래와 같이 추가를 하면 적용이 되는데 asp.net core 비어있음으로 생성 후 아래와 같이 추가를 하면 동작이 되지 않아요 cshtml.css, cshtml.cs를 추가하고 싶으면 어떻게 해야 하나요? 관련 강의도 추가를 해주시면 감사하겠습니다.

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
재혁 댓글 1 좋아요 0 조회수 474

h2 db 테이블 관련 스크립트 질문

해결됨

스프링 DB 1편 - 데이터 접근 핵심 원리

강의에서 h2 db 테이블 관련 스크립트를 h2 콘솔에 복사 해서 붙여넣으셔서 테이블을 생성하셨는데요. 강의자료를 보면, sql/schema.sql 파일을 생성 해서 스크립트를 넣으라고 되어있습니다. 둘 중 전자를 이용 하면 되는 건가요?

  • spring
  • mvc
  • spring-jdbc
재영 댓글 1 좋아요 2 조회수 269

회원가입 테스트를 실행해보았는데요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] h2 데이터베이스에 테스트한 spring이 올라가지 않습니다. 약 6분 58초 강의 내용인데 따로 테스트 앞에 transaction을 하지도 않았는데 되지 않네요 ㅜ. 빨간색 글자가 뜨긴했는데 이 경고 때문일까요?

  • java
  • spring
  • mvc
  • spring-boot
손민성 댓글 1 좋아요 0 조회수 500

layout fragment 사용시 이름이 동일한 태그가 두개가 매개변수로 들어가면 어떻게 사용되는건가요?

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] <!DOCTYPE html> <html th:replace="~{template/layoutExtend/layoutFile :: layout(~{::title}, ~{::section})}" xmlns:th="http://www.thymeleaf.org"> <head> <title>메인 페이지 타이틀</title> </head> <body> <section> <p>메인 페이지 컨텐츠1</p> <div>메인 페이지 포함 내용1</div> </section> <section> <p>메인 페이지 컨텐츠2</p> <div>메인 페이지 포함 내용2</div> </section> </body> </html> html 태그안에 layout fragment에 title과 section을 넣었는데 만약에 section태그가 두개면 어떻게 꺼내서 사용 되는건가요? <section> <p>메인 페이지 컨텐츠1</p> <div>메인 페이지 포함 내용1</div> </section> <section> <p>메인 페이지 컨텐츠2</p> <div>메인 페이지 포함 내용2</div> </section> <!DOCTYPE html> <html th:fragment="layout (title, content)" xmlns:th="http://www.thymeleaf.org"> <head> <title th:replace="${title}">레이아웃 타이틀</title> </head> <body> <h1>레이아웃 H1</h1> <div th:replace="${content}"> <p>레이아웃 컨텐츠</p> </div> <footer> 레이아웃 푸터 </footer> </body> </html> 어떻게 꺼내서 사용을 하게 되는건지? 변수처럼 사용을 하면되는건가요? 만약에 section 두개중에 하나만 꺼내서 쓰고싶으면 어떻게 꺼내는지?

  • spring
  • mvc
캐내기 댓글 1 좋아요 0 조회수 222

MemberserviceIntergration 회원가입 에러

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 내용 그대로 했는데 에러가 나옵니다. ㅠ 16:54:35.080 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [hello.hello_spring.service.MemberServiceIntegrationTest]: MemberServiceIntegrationTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 16:54:35.185 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration hello.hello_spring.HelloSpringApplication for test class hello.hello_spring.service.MemberServiceIntegrationTest . ____ _ /\\ / ___'_ __ ( _)_ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.3.0) 2024-06-03T16:54:35.496+09:00 INFO 6290 --- [hello-spring] [ main] h.h.s.MemberServiceIntegrationTest : Starting MemberServiceIntegrationTest using Java 17.0.11 with PID 6290 (started by pearlinezero in /Users/pearlinezero/Spring_study/hello-spring) 2024-06-03T16:54:35.497+09:00 INFO 6290 --- [hello-spring] [ main] h.h.s.MemberServiceIntegrationTest : No active profile set, falling back to 1 default profile: "default" 2024-06-03T16:54:35.966+09:00 INFO 6290 --- [hello-spring] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2024-06-03T16:54:35.981+09:00 INFO 6290 --- [hello-spring] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 10 ms. Found 0 JPA repository interfaces. 2024-06-03T16:54:36.277+09:00 INFO 6290 --- [hello-spring] [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2024-06-03T16:54:36.309+09:00 INFO 6290 --- [hello-spring] [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.2.Final 2024-06-03T16:54:36.329+09:00 INFO 6290 --- [hello-spring] [ main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2024-06-03T16:54:36.531+09:00 INFO 6290 --- [hello-spring] [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2024-06-03T16:54:36.549+09:00 INFO 6290 --- [hello-spring] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-06-03T16:54:36.605+09:00 INFO 6290 --- [hello-spring] [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/test user=SA 2024-06-03T16:54:36.606+09:00 INFO 6290 --- [hello-spring] [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2024-06-03T16:54:37.187+09:00 INFO 6290 --- [hello-spring] [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2024-06-03T16:54:37.188+09:00 INFO 6290 --- [hello-spring] [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2024-06-03T16:54:37.315+09:00 WARN 6290 --- [hello-spring] [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2024-06-03T16:54:37.330+09:00 INFO 6290 --- [hello-spring] [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2024-06-03T16:54:37.609+09:00 INFO 6290 --- [hello-spring] [ main] h.h.s.MemberServiceIntegrationTest : Started MemberServiceIntegrationTest in 2.299 seconds (process running for 3.18) Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended java.lang.IllegalArgumentException: id to load is required for loading

  • java
  • spring
  • mvc
  • spring-boot
선영 댓글 2 좋아요 0 조회수 452

검증 실패 로직시 반환에 질문이 있습니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 검증 실패시 고객에게 다시 입력폼으로 돌아가게 해야한다 하셔서 저는 리다이렉트를 한다고 생각하였는데 강의에서는 바로 입력폼 뷰로 이동을 하셨습니다. 리다이렉트로 변경하여 실행하니까 모든 값들이 초기화 되고 오류 메시지도 발생이 안되는데 리다이렉트를 해도 모델에 담긴 에러메시지들과 아이템 객체에 사용자가 잘못입력한 값들도 같이 넘어가야 하는거 아닌가요?

  • spring
  • mvc
양치잘하기 댓글 1 좋아요 0 조회수 267

34강 질문 있습니다!

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

else { 일치하는 회원이 없습니다. } 이 부분에서 리스트에서 클릭해서 들어오니까 일치하는 회원이 없을 수가 없는 거 같은데 맞나요?!

  • jsp
  • mysql
  • mvc
  • ajax
  • pojo
스치리밤 댓글 2 좋아요 0 조회수 254

수동 빈 등록과 자동 빈 등록 질문

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 내용] 강의에서는 이렇게 수동 빈 등록으로 서비스와 레포지토리를 등록했는데 이렇게 자동 빈 등록을 하면 위와 같이 수동 빈 등록했던 인터페이스들을 모두 그냥 @Component 처리 해버리면 굳이 config 클래스를 만들지 않고도 알아서 빈 등록 및 인터페이스와 구현체 연결이 되는게 맞나요? 맞다면 번거롭게 config클래스를 만들면서 수동 빈 등록을 하는 이유가 궁금해요

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
박세진 댓글 1 좋아요 0 조회수 267

"폼 데이터 전달에 Item 도메인 객체 사용" 이 부분에서 질문 있습니다.

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 2분대에서 "폼 데이터 전달에 Item 도메인 객체 사용" 이 부분에서 질문 있습니다. HTML Form -> Item -> Controller -> Item -> Repository 이런식으로 데이터가 간다고 되어 있는데 HTML Form -> Controller -> Item -> Repository 이렇게 넘어가지 않나요? Controller에서 @ModelAttribute로 바로 Item으로 넘어가는 걸로 알고 있는데 @Validated 에노테이션으로 Item에서 검증이 일어나서 HTML Form -> Item -> Controller -> Item -> Repository 이렇게 넘어가는 건가요?

  • spring
  • mvc
gogo 댓글 1 좋아요 0 조회수 217

Error parsing HTTP request header 오류

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] logging.level.org.apache.coyote.http11=trace 를 했을때, 아래 콘솔창에 2024-06-02T14:13:17.992+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] 2024-06-02T14:13:17.992+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] 2024-06-02T14:13:18.002+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] 2024-06-02T14:13:18.002+09:00 DEBUG 54987 --- [servlet] [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request java.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] 이런 에러가 뜨는데 이유가 뭘까요??

  • spring
  • mvc
김철준 댓글 3 좋아요 0 조회수 2514

PDF파일 다운로드는 어디서 할 수 있나요?

미해결

처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]

소스코드는 다운로드 받았습니다만, 본 영상초반에 설명하시는 다른 자료는 어디서 확인가능한지 문의 드립니다.

  • python
  • mvc
  • sqlalchemy
  • FastAPI
  • backend
Atman Euler 댓글 1 좋아요 0 조회수 447

리다이렉트를 통해 반환된 값은 무조건 get으로 반환되나요?

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

edit메서드의 반환을 “redirect:/basic/items/{itemId}“로 하지 않고 “/basic/items/{itemId}“로 해도 상관 없는거 아닌가? 라는 생각이 들어서 진행을 해보니 500에러가 발생하였씁니다. 고민해보니까 리다이렉트를 붙여주지 않으면 뷰를 반환하게 만들어주는건데 “/basic/items/{itemId}“라는 뷰가 없으니 서버에서 처리해줄 수 없어 500에러가 발생하였다고 인지하였습니다. 이름이 Post Redirect Get이길레 반환은 get만 가능한가 싶어서 상품 상세를 post로 받고 반환을 item으로 하는 @ResponseBody @PostMapping(“/{itemId}”) Public Item itemJson(@PathVariable(name = “itemId”) Long itemId){ Item item = itemRepository.findById(itemID); Return item; } 이 코드를 추가하여봤는데 post로 되어서 실행이 안되는거 같았습니다 반환을 리다이렉트로 할때 get말고 다른 메서드를 실행하도록 하는 방법이 있나요?

  • spring
  • mvc
양치잘하기 댓글 1 좋아요 0 조회수 260

/hello

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] url에서 http://localhost:8080/hello로 들어가면 구글에 도메인검색결과로 창이 바뀌는데 이유를 잘 모르겠습니다.. console창에는 출력되는건 없어요. 뒤에 ?username=km 입력하면 다 잘 나오긴 합니다.. https://drive.google.com/file/d/14DltR8QvS29iBlNsR1sduPJ6M8r91Lln/view?usp=drive_link

  • spring
  • mvc
cksgur 댓글 1 좋아요 0 조회수 378

HandlerExceptionResolrver 질문

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 내용에서 HandlerExceptionResolver 사용 시, 직접 구현하셨는데 안에다가 "response.error메서드"를 씀과 동시에 "return ModelAndView();" 하셨잖아요. 근데 강사님이 HandlerExceptionResolver 객체를 사용하면, "WAS"에서 ModelAndView 객체를 받으니 정상 신호로 받고, 예외 호출하는 것을 생략할 수 있어서 좋다고 하셨는데. 근데 response.error 객체를 WAS가 받으면 결국 그 예외를 처리하기 위해 WAS가 error 처리를 위한 컨트롤러를 한 번 더 호출하지 않나요 ? 즉 ModelAndView()를 return 함으로써 WAS가 정상적인 프로그램 처리과정으로 인식하다가도 response.error()라는 메서드가 실행될 때 오류가 발생하는거 아닌가요?

  • spring
  • mvc
전인호 댓글 2 좋아요 0 조회수 315

uuid 파일명 생성에 관한 질문 드립니다.

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

저장되는 파일명을 uuid로 하지 않았을 때, 디스크에 실제 같은 이름의 파일이 들어가는 경우 덮어씌어지는 걸 확인했습니다. 혹시, 위의 transferTo() 메서드의 인자로 파일명까지 포함한 같은 경로의 파일이 들어가게 되면 덮어씌어지는 건가요? new File()로 다른 인스턴스를 생성해주기 때문에 같은 이름의 파일 경로라도 서로 다른 파일이 생성 이 되고, 결국엔 덮어씌어지는 일은 없을 거라고 예상했는데요. 같은 이름의 파일일 경우, uuid로 파일명을 지정안해주었을 때 어떻게 덮어씌어지는 것인지 궁금합니다.

  • spring
  • mvc
재영 댓글 2 좋아요 1 조회수 430

강의 32:20 부분 질문드립니다.

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

강의 32:20 부분에 이 핸들러 메서드는 보안에 좀 취약하다 , 여러가지 체크 로직이 추가되어야 한다 라고 말씀해주셨는데요. 예를 들어, 어떤 체크 로직이 필요할까요?

  • spring
  • mvc
재영 댓글 1 좋아요 2 조회수 275

인기 태그

인프런 TOP Writers

주간 인기글