Inflearn brand logo image

인프런 커뮤니티 질문&답변

bill5500님의 프로필 이미지
bill5500

작성한 질문수

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

어떤 이유에서인지 jsp 회원가입 회원목록 들어가지지 않음

작성

·

49

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

안녕하세요 강의 너무 잘 듣고 있습니다.

image.png

여기서 JSP의 회원가입을 누르게되면

image.png

이렇게 /jsp/members/new-form.jsp로 날아갑니다.

하지만 오류가 발생하지JspMemberController.java를 보면

@GetMapping("/jsp/members/new-form")
public String newForm() {
    return "member/new-form";
}

@PostMapping("/jsp/members/save")
public String save(@RequestParam String username,
                   @RequestParam int age,
                   Model model) {
    Member member = new Member(username, age);
    memberRepository.save(member);
    model.addAttribute("member", member);
    return "member/save-result";
}

@GetMapping("/jsp/members")
public String list(Model model) {
    List<Member> members = memberRepository.findAll();
    model.addAttribute("members", members);
    return "member/member";
}


이렇게 요청 잘 받게 처리되어 있습니다.

또한 application.properties를 보면 잘 처리되어 있습니다.

spring.application.name=servlet

logging.level.org.apache.coyote.http11=debug

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.mvc.view.encoding=UTF-8

 

파일 경로도 올려드립니다

거의 다섯시간째 여기서 못나오고 있습니다.

image.png

 

참고로 webapp에 있다가 resources로 basic.html, index.html, hello-form..html 실행할 때 인식을 못해서 이 폴더로 모두 옮겼습니다.

더 필요한 코드가 있다면 말씀해주십쇼 해당 파일을 보내고싶은데, 올릴수 있는 방법이 없는 것 같네요

또 추가 코드입니다 - jsp 회원가입을 누르면 나오는 메시지입니다.

2025-04-16T08:38:22.966+09:00  INFO 19112 --- [servlet] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-04-16T08:38:22.967+09:00  INFO 19112 --- [servlet] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2025-04-16T08:38:22.967+09:00  INFO 19112 --- [servlet] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 0 ms

정상적으로 잘 작동하는 것 같습니다


어떻게 해결해야할지 모르겠습니다 뭐가 잘못인지도 모르겠네요

 

build.gradle 코드

plugins {
	id 'org.springframework.boot' version '2.4.3'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
	id 'java'
	id 'war'
}

group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'


	// JSP 추가 시작
	implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
	implementation 'jakarta.servlet:jakarta.servlet-api' // 스프링부트 3.0 이상
	implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' // JSTL API
	implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' // 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'
}

test {
	useJUnitPlatform()
}

 

감사합니다.

답변 2

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. bill5500님

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

실제 동작하는 전체 프로젝트를ZIP파일로 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

 

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명 (오류 화면, 오류 로그 포함)


링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.

bill5500님의 프로필 이미지
bill5500
질문자

감사합니다 김영한 선생님 답글 받는것도 영광이네요

https://drive.google.com/file/d/1oNHG9872eU7vUZrH3xx3DKPfJGPuFcnZ/view?usp=sharing

구글 드라이브 링크 답글로 달겠습니다.

추가로 확인 못하실 수 있으니, 질문게시판에 다시 질문도 올리도록 하겠습니다. 감사합니다

bill5500님의 프로필 이미지
bill5500
질문자

강사님 해결했습니다 감사합니다

김영한님의 프로필 이미지
김영한
지식공유자

스스로 잘 해결하셨습니다 🙂

0

안녕하세요, 인프런 AI 인턴입니다. bill5500님.

JSP 파일이 웹 페이지에서 제대로 로드되지 않는 경우의 원인은 여러 가지가 있을 수 있습니다. 주로 URL 경로와 리소스 파일 경로 불일치, 혹은 HTTP 요청 처리 문제에서 발생할 수 있습니다. 현재 상황에서는 JSP 파일 경로 설정이나 빌드 설정 문제일 가능성이 있습니다.

  1. JSP 파일 경로 확인하기: new-form.jsp 등의 JSP 파일이 WEB-INF/views/member/ 경로 내에 있는지 확인하세요. 요청되는 URI가 이 경로에 맞게 매핑되어야 파일을 찾을 수 있습니다.

  2. 파일 경로 및 매핑 설정:

    • application.properties 파일에서 spring.mvc.view.prefixspring.mvc.view.suffix/WEB-INF/views/.jsp로 설정되어 있는지 확인하십시오. 이것이 JSP 파일의 기본 경로와 확장자를 설정합니다.
    • 경로와 매핑된 것처럼 보이나 실제 파일의 경로가 이 경로와 충돌하는 것은 아닌지 확인해보세요.
  3. Spring 버전과 JSP 설정 오류:

    • 때로는 Spring Boot 버전과 관련 의존성, 예를 들어 jakarta.servlet.jsp.jstl-apiorg.glassfish.web:jakarta.servlet.jsp.jstl 의존성이 제대로 설정되어 있지 않아 JSP 파일 처리시 문제가 발생할 수 있습니다.
  4. URL 맵핑과 요청 경로 확인:

    • @GetMapping("/jsp/members/new-form") 코드가 요청과 맞는지, 즉 실제로 이 경로로 요청이 가는지 확인하십시오.

관련 질문과 해결책을 다룬 기존의 유사 질문들을 살펴보실 수 있습니다. 이러한 질문들은 비슷한 문제를 겪은 사용자의 해법을 제공하며, 주로 경로 설정이나 의존성 문제로 인한 404 오류를 해결하는 데 도움을 줄 것입니다:

위 링크에서는 무시된 JSP 설정 변경과 관련된 내용을 잘 설명하고 있습니다. 참고하여 문제가 있는 부분을 점검해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

bill5500님의 프로필 이미지
bill5500
질문자

AI답변은 이미 확인한바 있습니다.
다른 문제가 어떤건지 알려주시면 감사하겠습니다.

bill5500님의 프로필 이미지
bill5500

작성한 질문수

질문하기