작성
·
49
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
여기에 질문 내용을 남겨주세요.
안녕하세요 강의 너무 잘 듣고 있습니다.
여기서 JSP의 회원가입을 누르게되면
이렇게 /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
파일 경로도 올려드립니다
거의 다섯시간째 여기서 못나오고 있습니다.
참고로 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
안녕하세요, 인프런 AI 인턴입니다. bill5500님.
JSP 파일이 웹 페이지에서 제대로 로드되지 않는 경우의 원인은 여러 가지가 있을 수 있습니다. 주로 URL 경로와 리소스 파일 경로 불일치, 혹은 HTTP 요청 처리 문제에서 발생할 수 있습니다. 현재 상황에서는 JSP 파일 경로 설정이나 빌드 설정 문제일 가능성이 있습니다.
JSP 파일 경로 확인하기: new-form.jsp
등의 JSP 파일이 WEB-INF/views/member/
경로 내에 있는지 확인하세요. 요청되는 URI가 이 경로에 맞게 매핑되어야 파일을 찾을 수 있습니다.
파일 경로 및 매핑 설정:
application.properties
파일에서 spring.mvc.view.prefix
와 spring.mvc.view.suffix
가 /WEB-INF/views/
와 .jsp
로 설정되어 있는지 확인하십시오. 이것이 JSP 파일의 기본 경로와 확장자를 설정합니다.Spring 버전과 JSP 설정 오류:
jakarta.servlet.jsp.jstl-api
및 org.glassfish.web:jakarta.servlet.jsp.jstl
의존성이 제대로 설정되어 있지 않아 JSP 파일 처리시 문제가 발생할 수 있습니다.URL 맵핑과 요청 경로 확인:
@GetMapping("/jsp/members/new-form")
코드가 요청과 맞는지, 즉 실제로 이 경로로 요청이 가는지 확인하십시오.관련 질문과 해결책을 다룬 기존의 유사 질문들을 살펴보실 수 있습니다. 이러한 질문들은 비슷한 문제를 겪은 사용자의 해법을 제공하며, 주로 경로 설정이나 의존성 문제로 인한 404 오류를 해결하는 데 도움을 줄 것입니다:
위 링크에서는 무시된 JSP 설정 변경과 관련된 내용을 잘 설명하고 있습니다. 참고하여 문제가 있는 부분을 점검해보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다 김영한 선생님 답글 받는것도 영광이네요
https://drive.google.com/file/d/1oNHG9872eU7vUZrH3xx3DKPfJGPuFcnZ/view?usp=sharing
구글 드라이브 링크 답글로 달겠습니다.
추가로 확인 못하실 수 있으니, 질문게시판에 다시 질문도 올리도록 하겠습니다. 감사합니다