작성
·
1.4K
0
안녕하세요..
jsp까지 잘 되다가, mvc에서 계속 404가 떠서 질문 드립니다..
영한님 코드 복붙까지 해봤는데도 안돼서요..
폴더구조, 파일명 모두 대조해봤는데 문제가 없음을 확인했습니다.
"mvc패턴 적용" 강의 코드가 적용이 되지 않습니다..
대체..뭐가 문제일까요?
MvcMemberFormServlet.class
new-form.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!-- 주의
상대경로 사용, [현재 URL이 속한 계층 경로 + /save]
ex ) servlet-mvc/members/save
-->
<form action="save" method="post">
username: <input type="text" name="username" />
age: <input type="text" name="age" />
<button type="submit">전송</button>
</form>
</body>
</html>
404
ServletApplication.class
build.gradle
plugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '3.0.3'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation 'javax.servlet:jstl'
implementation 'jakarta.servlet:jakarta.servlet-api' //스프링부트 3.0 이상
implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' // 스프링부트 3.0 이상
implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //스프링부트 3.0 이상
}
tasks.named('test') {
useJUnitPlatform()
}
답변주시면 감사하겠습니다..
답변 2
0
안녕하세요, 깨위 님. 공식 서포터즈 y2gcoder 입니다.
공유해주신 프로젝트 확인해봤습니다.
혹시 프로젝트 공유해주실 때는 코드를 좀 바꿔서 올려주신 것인지 궁금합니다.
먼저 처음 프로젝트를 시작할 때 프로젝트 구동부터 되지 않고
해당 에러가 발생했습니다.
원인은 바로 위에 보이는 RequestBodyJsonServlet의 @WebServlet name 속성이 이전의 RequestBodyStringServlet의 @WebServlet name 속성과 겹쳐서 일어나는 문제였습니다.
해당 코드가 제대로 반영되어 있지 않은 것으로 보여
강의 코드와 동일하게 맞춰준 후, 다시 실행하니 정상적으로 실행되었습니다.
또한
http://localhost:8080/servlet-mvc/members/new-form 도 정상적으로 불러오는 것을 알 수 있습니다.
해당 방법대로 해보시길 권해드리고 혹시나 캐시가 남아있을 수도 있으니 Intellij의 File > Invalidate caches 등을 이용해 캐시 초기화를 하신 후에 다시 실행해주십시오 :)
감사합니다.
0
안녕하세요. 깨위님, 공식 서포터즈 y2gcoder입니다.
현재 올려주신 코드 상에서 고쳐야 할 부분은
build.gradle에서
implementation 'javax.servlet:jstl' // 3.0 이상에서는 이걸 지워주셔야 합니다.
해당 부분을 고쳐보시고 안되시면 아래대로 소스코드를 보여주셔야 할 것 같습니다 :)
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
구글 드라이브 업로드 방법 링크
주의: 업로드시 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 실행 방법을 알려주세요.
2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.
감사합니다.
알려주신 대로 제외하고 실행해도 404오류가 뜨는 것 같습니다.
https://drive.google.com/file/d/1AUwPijLVWf3NO2fzro5HnUmYU4gQgoSp/view?usp=sharing
프로젝트 링크 첨부 하겠습니다..
답변주시면 감사하겠습니다..