묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ResponseStatusException 질문 (강의 13분 54초)
[질문 내용]ResponseStatusException에 세개의 파라미터가 담기는데, 세번째 파라미터가 무엇인지 정확히 이해가 가지 않습니다. 실제로 /api/response-status-ex2가 호출 되었을 때, IlleagalArgumentException이 발생한다면,그 대신에 HttpStatus.NOT_FOUND(404)를 내보내주고, "error.bad"를 메시지로 내보내준다는 뜻이 맞나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 서버가 로컬에 뜬다는 건 자바 JVM 안에서 뜬다고 보면 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 인텔리제이로 화살표를 눌러서 스프링 애플리케이션 서버를 실행한다는 것은, 자바 JVM 내부에서 스프링 서버가 뜨는거라고 생각하면 되려나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DB 서버에 “소켓”으로 접근한다는 게 어떤 의미일까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.순수 JDBC 강의까지 듣고 질문이 생겨 올립니다~DB커넥션을 얻어 애플리케이션이 DB 서버에 "소켓"으로 연결된다고 하는데, 이 의미가 "네트워크 상에서 돌아가는 두 개의 프로그램 간 양방향 통신" 을 할 수 있게 소켓이라는 통(?)이 생겨서 연결된다고 보면 되려나요? 그리고, application.properties에 url에 jdbc:h2:tcp://localhost/~/test이렇게 적으면 소켓 연결이라고 하셨는데 이 url에 대한 더 자세한 이해를 하고 싶은데 이 url이 정확히 어떤 의미일까요? tcp는 OSI 7계층에서 어렴풋이 들어온 용어 같습니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
비밀번호 변경 로직 질문있습니다.
updatePassword 메서드에서는 인코딩을 해주지 않으셨는데 이러면 DB에 plaintext가 들어가게되는거 아닌가요 public void updatePassword(Account account, @Length(min = 8, max = 50) String newPassword) { account.setPassword(passwordEncoder.encode(newPassword)); accountRepository.save(account); } 시큐리티6.x 버전이라 그런지 인코딩을 하지않으면 애초에 비밀번호 변경후 로그인이 되지 않습니다.(위는 수정한거)
-
미해결Practical Testing: 실용적인 테스트 가이드
서비스계층에 @transactional을 붙이면 성능이 감소하지 않나요?
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 강의에서 OrderService에 @transactional처리를 하는데 이렇게 되면 성능이 감소하지 않나요? 현업에서는 이 성능 감소를 감수하고도 데이터정합성 및 롤백을 위해 트랜잭션을 하는건가요? 감사합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@Pattern 사용시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@Pattern을 @NotBlank와 쓰면 에러 메세지가 같이 나오고 @NotNull와 같이 쓰면 순서가 @Pattern의 에러먼저 적용 됩니다. 순서를 설정하고 하나만 나오게 하려면 validator를 따로 만들어야만 가능한가요? 아니면 스프링에서 따로 제공하는 기능이 있을까요?
-
미해결실전! 스프링 데이터 JPA
DTO반환에 대한 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.JPA활용2편과 JPA 데이터 강의를 보면 DTO를 직접 반환하는 부분에서 질문드립니다.강의 수강이전에 repository에서 가져온 Entity를 직접조회하여 가져온 값을 service계층에서 lombok의 builder어노테이션을 이용하여 DTO형태로 직접조립하여 클라이언트에게 반환하는 API를 주로 구성했습니다. 근데 실무에서는 주로 위와 같은 방법이 아니라 repository계층에서 DTO를 직접 불러와서 조립하는 방식을 선호되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오류
A problem occurred configuring root project 'hello-spring'.> Could not resolve all artifacts for configuration 'classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.4.1. Required by: root project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.4.1 > Dependency requires at least JVM runtime version 17. This build uses a Java 8 JVM.* Try:> Run this build using a Java 17 or newer JVM.> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.11.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.인텔리제이에서 open 폴더로 hellospring 열었는데 해당 오류가 뜨네요 이거 뭔가요?
-
해결됨토비의 스프링 부트 - 이해와 원리
spring start io 에서 이제더이상 2.x버전은 지원하지 않는 것 같습니다.
예제 초반부를 진행하고자 하는데요..혹시 3.x버전 대를 사용해도 큰 문제가 없는걸까요? 참고로 현재 선택 가능한 가장 하위버전은 3.3.7입니다^^;
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
프로필 수정 처리 merge 질문입니다.
강의 잘 듣고있습니다. 현재 service단의 update메서드에는 merge로 병합처리를 하고있지만 accountRepository에서 findById와 같이 수정할 account객체를 찾아내서 영속화를 시켜준뒤에 수정을 하면 dirty checking으로 인한 수정법이 더 안전한 방법일까라고 생각이되서 질문드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]servlet hello 부분오류가 해결이 되지 않아 문의 남깁니다 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2025-01-09 11:09:37.846 ERROR 9180 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet package hello.servlet; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } } package hello.servlet.basic; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(name="helloServelet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("HelloServlet.service"); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JRE 버전 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]안녕하세요, 강의 너무 잘 보고 있는 취업 준비생입니다 !인텔리제이를 사용하며 강의를 따라가는 중인데, 윈도우 cmd에서 실행 시 하단 사진처럼 뜨더라고요찾아보니 jre의 버전 문제라고 하는데, UnsupportedClassVersionError 라는 오류라고 하더라고요컴파일된 클래스 파일이 현재 사용중인 jre 버전보다 더 최신 버전으로 컴파일되었다고 하는데, 이것을 해결할 방법이 있을까요 ? 혹은 해결하지 않고 이 버전을 유지하며 이번 강의 내용은 머리로만 이해하는 것이 좋을지 궁금합니다.해결에 도움이 될 수 있을까 하여 구체적인 오류를 남깁니다 !Exception in thread "main" java.lang.UnsupportedClassVersionError: com/example/demo/DemoApplication has been compiled by a more recent version of the Java Runtime (class file version 67.0), this version of the Java Runtime only recognizes class file versions up to 66.0at java.base/java.lang.ClassLoader.defineClass1(Native Method)at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1023)at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524)at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)at org.springframework.boot.loader.net.protocol.jar.JarUrlClassLoader.loadClass(JarUrlClassLoader.java:107)at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass(LaunchedClassLoader.java:91)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)at java.base/java.lang.Class.forName0(Native Method)at java.base/java.lang.Class.forName(Class.java:529)at java.base/java.lang.Class.forName(Class.java:508)at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:99)at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64)at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40) 현재 이렇게 실행하니 8080 서버는 들어가지는 것 같은데, hello 라는 부분 클릭 시 넘어가질 않네요 .. 추가로, 실행한 파일을 종료할 때 ls -arlth 라는 것을 입력하시던데, 이 명령어가 종료 명령어가 맞을까요 ..?거북이 마음으로 하나씩 의문들을 해결해나가겠습니다 좋은 강의 제공해주셔서 항상 감사드립니다 !!
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
QItem 생성 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]QItem이 @Entity로 설정된 클래스 정보를 가져와서 동적으로 생성되는 것으로 이해했습니다.QItem이 생성되는 시점이 애플리케이션 실행 시점인 것 같은데,그렇다면 혹시, 새로운 엔티티를 만들었다면 해당 엔티티로 동적 코드를 작성하기 위해선 필히 애플리케이션을 한번 실행해주고 해야하는건가요??QItem을 생성하기 위한 이유로만 애플리케이션을 실행해야하는 그런 동작이 뭐랄까 좀 부자연스러운(?) 느낌이 드는데 혹시 다른 방법이 있을까요?
-
미해결실전! 스프링 데이터 JPA
fetch join 시 countQuery
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]22:00 @Query어노테이션안에 countQuery는 안넣고 그냥 @Query("select m from Member m left join fetch m.team t")으로만 썻는데 count쿼리가 join을 하지 않고 나가는데 이것도 하이버네이트가 버전 업 되면서 최적화 된거라고 봐도 좋을까요? 내용 추가합니다 ! left fetch join은 데이터의 수가 원래것보다 더 많아지지 않아서 left fetch join이든 left join이든 둘다 count할때는 join하지 않는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ViewResolver 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]강사님과 똑같이 코드를 짯는데 저는 실행이 돼지 않습니다.ViewResolver setup!이라고 문구가 발생하는데 어떤 부분을 확인해야할까요강사님과 같은 JAVA 및 HTML 파일 작성실행했으나 500 ERROR 발생파일의 경로 및 소스코드 확인했으나 이상 없음
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
클래스 내의 public 메서드 재사용
login 레포지토리 구현 과정에서 궁금한 점이 있어 질문드립니다. 현재상황findAll 메서드를 findByLoginId에서 활용함. 해당 메서드 활용이 다양한 면에서 불필요하다고 생각함 코드@Slf4j @Repository public class MemberRepository { private static Map<Long, Member> store = new HashMap<>(); private static long sequence = 0L; public Member save(Member member) { member.setId(++sequence); log.info("save: member ={}", member); store.put(member.getId(), member); return member; } public Member findById(Long id) { return store.get(id); } //문제의 부분 public Optional<Member> findByLoginId(String loginId) { return findAll().stream() .filter(m -> m.getLoginId().equals(loginId)) .findFirst(); } public List<Member> findAll() { return new ArrayList<>(store.values()); } } 불필요하다고 생각한 이유findAll 메서드는 public 메서드이기 때문에 클래스 사용자와 맞닿아 있음. 따라서, findAll의 구현방식이 달라진다면 다른 메서드에도 영향이 감 (메서드간 결합도가 높음)findAll이 public 메서드이기에 중복된 코드를 줄이기 위한 모듈화라고도 보기 어려움결합도와 관계 없이 findAll의 경우 ArrayList에 다시 감싸는 작업때문에 시간복잡도도 증가함그래서 저는 findAll 메서드를 활용하는 것이 아니라 그냥 아래와 같이 store.values()를 직접 호출하는 것이 더 좋은 코드가 아닌가라는 생각이 들어요(제가 결합도에 너무 집착하고 있는 것 같기도하네요) public Optional<Member> findByLoginId(String loginId) { return store.values().stream() .filter(m -> m.getLoginId().equals(loginId)) .findFirst(); } 예상 답변public 메서드라도 클래스 내부에서 재사용해도 상관없다. public 메서드를 클래스 내부에서 사용하는 것은 좋지 않지만, 현재와 같이 변경 가능성이 작은 경우 상관없다.성능은 조금 줄어들더라도 가독성이 우선이다. 그 정도의 성능저하로 보이진 않는다. 현재와 같이 간단한 메서드라면 재구현해도 상관이 없지만, 만약 findAll이 복잡한 로직의 메서드라면 재사용이 불가피하다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
addAttribute 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]현지 저는 사정상 이클립스로 진행을 하고 있는데요model.addAttribute 부분에서model.addAttribute (attributeName:"data", attributeValue:"hello!!"); 로 하면 오류가 나고model.addAttribute ("data","hello!!");로 수정하면 오류가 나지 않습니다 차이가 뭔지 알 수 있을까요
-
미해결스프링 핵심 원리 - 기본편
스프링 bean에서 request scope를 어떻게 식별해 같은 객체를 주입하는지 궁금합니다.
안녕하세요? 빈 스코프 관련해 궁금한게 생겨 문의드립니다. request 스코프를 사용하는 경우, 해당 request안에서 실행되는 각종 service들에서 전부 같은 빈 인스턴스를 받을수 있다고 강의에서 알려주셨습니다.그런데 이것이 어떻게 동작하는지가 궁금합니다. 각 service들은 단순 인스턴스일 뿐이고, request와 관련된 정보는 하나도 가지고 있지 않습니다. 또한 service들으 싱글톤일수도 있고, 특정 scope에 속할수도 있구요. service들은 본인이 A request에 속해 실행되고 있는지, B request에 속해 실행되고 있는지 식별할 방법이 없어보입니다. 매 request마다 다른 쓰레드에서 실행이 된다면, 빈 주입을 시도한 thread의 이름이나 식별정보를 통해서 request를 구분할수도 있지 않을까 생각이 들었는데, 구현부에서 멀티쓰레드를 사용하다면 이 또한 보장하기 힘든 방법이라고 생각이 듭니다.스프링 bean은 serivce와 같은 여러 인스턴스들에서 request scope를 어떻게 식별해 주입 해주고 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
~v5까지를 이용해서 사이드 프로젝트를 해보려는데 막혔습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]v5 프론트 컨트롤러까지 해서 직접 사이드프로젝트를 해보려고 했는데, 서블릿이 인식이 안 되는 것인지 println이 콘솔창에 안 뜹니다 ㅠ package com.weblibrary.controller; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(name = "frontController", urlPatterns = "/test/*") public class FrontController extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("FrontController.service"); } } 로컬주소/test/some 이런식으로 접속해보는데, 404가 뜨고 콘솔에는 println이 뜨질 않네요 ㅠㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
모델 정보를 request에 담아서 jsp로 전송? 하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]뭔가 응답을 해주는건 response라고 배웠는데, members같은 데이터를 request에 담는 이유가 뭘까요?? 원래 사용 방법이 그런건 알지만, 이유가 있을까요?