http://localhost:8080/hello 입력시 오류
486
작성한 질문수 2
항상 강의 잘 듣고 있습니다! 위와 같은 오류가 발생합니다.
위와 같이 모듈 구성되어 있고 설정은 강의 대로 했지만 톰캣은 최신버전인 10.0.2를 사용했습니다.
아래는 코드 내용입니다.
<HelloServlet>
package me.jinmin;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGet");
resp.getWriter().println("<html>");
resp.getWriter().println("<head>");
resp.getWriter().println("<body>");
resp.getWriter().println("<h1>Hello Servlet</h1>");
resp.getWriter().println("</body>");
resp.getWriter().println("</head>");
resp.getWriter().println("</html>");
}
@Override
public void destroy() {
System.out.println("destroy");
}
@Override
public void init() throws ServletException {
System.out.println("init");
}
}
<web.xml>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>me.jinmin.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
답변 4
1
저도 똑같은 에러상황이었는데 tomcat 10 -> 9버전으로 다운그레이드 하니까 됐습니다!
tomcat 10버전에서는 javax.servlet을 제공안해주는건지 아니면 제가 설정을 잘 못한 건지 안되네요...
0
현재 스프링 MVC 5는 톰캣10에서 실행이 불가능합니다.
tomcat9에서 10으로 넘어오면서 패키지가 변경되었습니다(javax.* -> jakarta.*). 따라서 javax.servlet을 사용하는 Spring MVC 5와는 호환이 안됩니다.
아래 링크에 좀 더 자세하게 설명되어 있습니다.
톰캣 공식 홈페이지
https://tomcat.apache.org/download-10.cgi
연관 이슈
https://stackoverflow.com/questions/66217350/deploying-spring-mvc-5-on-tomcat-10-deployment-problems/66220939#66220939
https://github.com/spring-projects/spring-boot/issues/22414
0
해당 수업 4분 50초를 보면 서블릿 API가 실행 환경에서 제공이 된다는 가정하게 provided 스콥을 사용했는데, 에러 메시지를 보면 서블릿 클래스가 없다고 나오고 있으니 실행환경에서 서블릿 의존성이 제공되지 않은 걸로 보입니다. 어떤 방법으로 애플리케이션을 실행하셨는지 자세히 설명을 부탁드립니다. 이 경우는 코드에 문제가 있는게 아니라 실행한 방법에 문제가 있어 보입니다.
7:58 예제 코드 찾는 법
0
255
2
PATCH의 Idempotent에 대한 질문
0
257
1
2:51초 질문입니다.
0
324
1
만약 어플리케이션컨텍스트에 필터를 설정하지 않으면 어떻게되나요?
0
361
0
web.xml에 위치한 애플리케이션 web.xml 내에서 파싱 오류 발생
0
513
0
Spring Boot 2.6 이상 버전에서의 DispatcherServlet
0
366
1
Event`Xxx`Controller 분리할때의 기준에 관한 질문입니다.
0
633
1
11분 57초 쯤, `returnValueHandlers` 들의 네이밍컨벤션 관련 질문입니다.
0
378
1
@EnableWebmvc 설정을 하면
0
414
1
springframework와의 차이점
0
282
1
@RequestBody의 바인딩에러를 잡는 방법
1
1654
2
안녕하세요 기선님 강의를 보다 서블릿에 궁금증이 생겨 질문 드립니다
1
236
1
HelloService의 값을 전달을 못 받습니다.
0
293
1
ServletContext와 WebApplicationContext의 관계 질문
1
740
1
하나의 서비스에, 두개의 리포지토리도 연결이 되나요?
0
362
1
view name 리턴에 대해
0
288
2
Formatter print 질문 드립니다.
0
232
1
에리 메시지가 한글입니다.
0
292
1
java 클래스파일로 설정되어 있던 것을 web.xml로 바꾸는 경우
0
336
1
@RequestParam
0
255
1
@Retention 질문
0
226
1
Event.builder() 관련 mac에서 lombok 문제 있으신 분들
0
195
1
스프링 부트 사용시 WebMvcConfigurerSupport 클래스
0
250
1
petclinic에서 @ModelAttribute 관련 질문 드립니다.
0
179
1





