상세 컨텐츠

본문 제목

인텔리제이 톰캣 404에러

Java TIL

by 개발일지작성 2024. 3. 9. 17:33

본문

728x90

일단 사랑합니다 https://hello-walnuty.tistory.com/16

 

Spring Project의 Home.jsp 실행 시, 404 Error가 발생하는 이유

(부제) Spring Framework의 동작원리 얼마 전 나는 학생 때 진행했던 개발 프로젝트를 리팩토링 하기 위해 Spring을 재설치했다. Spring 설치가 제대로 되었는지 확인하기 위해, Project를 생성하여 그 안에

hello-walnuty.tistory.com

나는 쥰내 초보자이기에 기술들 전부 나열할거임 이 글은 인텔리제이 + 스프링 프레임워크 + maven + mybatis +  mvc + tomcat 사용합니다. 나와 같은 기술 사용하는 사람들은 이 글이 구원이 되길... 안되면 말고

 

 

그저 댕청한 나 2~3일동안 이것만 해결했다. 죄다 이클립스 sts관련 자료만 보이고 server.xml보라는데 인텔리제이는 보이지도 않고..

WEB-INF에 있는 .jsp 는 나오는데 WEB-INF -> views 폴더에 있는 .jsp는 404에러 뜨고 있었다.

 

길게 적어도 가독성만 떨어질거 같으니 문제해결 방법만 빠르게 정리

 

아차차 jsp파일만 Run 시키면 404뜨니 프로젝트 전체를 실행시키기!

 

web.xml에

  <servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

 

이게 있는지 확인

 

servler-context.xml 에

    <!-- This tag registers the DefaultAnnotationHandlerMapping and
         AnnotationMethodHandlerAdapter beans that are required for Spring MVC  -->
    <mvc:annotation-driven />
    <!-- This tag allows for mapping the DispatcherServlet to "/" -->
    <mvc:default-servlet-handler />

    <!-- Process annotations on registered beans like @Autowired... -->
    <context:annotation-config/>
    <!-- 컴포넌트 스캔 -->
    <context:component-scan base-package="com.example.fire" />

이 부분 있는지 확인

 

HomeController 에

대충 적어놓고 실행 똮

 

localhost:8080으로 접속이 될 것이다

만약 링크가 localhost:8080 이 아니라면!

 

여기 들가서

Deployment 에서 Application context 확인 (    /    ) 하나만 남기고 다 지워주자

 

 

그럼 성공!

 

나는 처음부터 다 문제였지만 마지막엔 return 값을 hello로 적어놨다가 왜 안되지 이러고 있었다...

 

반드시 jsp 파일 이름과 같은지 확인할 것!

또한 RequestMapping 도 /hello 이따위로 되어 있는지 확인할 것!

 

실행하면 처음 뜨는 화면은 localhost:8080 인데 /hello 이러면

localhost:8080/hello 로 들어가야 메인화면이 켜지니 체크!!!

 

다른 Controller 파일을 만들더라도 @Controller 어노테이션 붙여주면 연결될듯 하다.

뭐 흐름이 어쩌고 이론적인거는 난 잘 모르겠으니 다른 블로그 글을 찾아보자!

'Java TIL' 카테고리의 다른 글

ajax, mybatis, HashMap 415 오류  (0) 2024.03.18
인텔리제이 톰캣 한글깨짐 해결방법  (0) 2024.03.09
테스트코드 작성(기초)  (0) 2024.01.24
테스트코드 작성 시 Autowired, Mock이란 무엇인가  (1) 2023.12.28
Schedul  (0) 2023.12.23

관련글 더보기