강의

멘토링

로드맵

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của jinmin22162457
jinmin22162457

câu hỏi đã được viết

MVC mùa xuân

Phát triển ứng dụng Servlet

http://localhost:8080/hello 입력시 오류

Viết

·

482

0

항상 강의 잘 듣고 있습니다! 위와 같은 오류가 발생합니다.

위와 같이 모듈 구성되어 있고 설정은 강의 대로 했지만 톰캣은 최신버전인 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>
springMVCjava

Quiz

MVC 패턴에서 Model, View, Controller는 각각 어떤 역할을 담당하나요?

Model: 데이터를 표시, View: 데이터를 담음, Controller: 요청을 처리

Model: 데이터를 담음, View: 데이터를 표시, Controller: 요청을 처리

Model: 요청을 처리, View: 데이터를 담음, Controller: 데이터를 표시

Model: 데이터를 표시, View: 요청을 처리, Controller: 데이터를 담음

Câu trả lời 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

whiteship님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

해당 수업 4분 50초를 보면 서블릿 API가 실행 환경에서 제공이 된다는 가정하게 provided 스콥을 사용했는데, 에러 메시지를 보면 서블릿 클래스가 없다고 나오고 있으니 실행환경에서 서블릿 의존성이 제공되지 않은 걸로 보입니다. 어떤 방법으로 애플리케이션을 실행하셨는지 자세히 설명을 부탁드립니다. 이 경우는 코드에 문제가 있는게 아니라 실행한 방법에 문제가 있어 보입니다.

0

jinmin2216님의 프로필 이미지
jinmin2216
Người đặt câu hỏi

윈도우 사용중입니다!

Hình ảnh hồ sơ của jinmin22162457
jinmin22162457

câu hỏi đã được viết

Đặt câu hỏi