404 Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다.

NANA·2024년 4월 11일
0

간단한 스프링프레임워크 웹 프로젝트를 하나 만들었는데

얼어죽을 404가 계속 떴다.
하.. 죽어 404^^..

구조도 틀리지 않았고

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

<display-name>Spring MVC Application</display-name>

<!-- Spring MVC Servlet 설정 -->
<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 인코딩 필터 설정 -->
<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/</url-pattern>
</filter-mapping>

</web-app>

dispatcher-servlet.xml

<!-- dispatcher-servlet.xml -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.ex.controller"/>
    <!-- ViewResolver 설정 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

UserController.java

package com.ex.controller;

import com.arisys.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

// UserController.java
@Controller
public class UserController {

/*    @Autowired
    private JdbcTemplate jdbcTemplate;*/

    @RequestMapping("/")
    public String getUsers(Model model) {
        System.out.println("컨트롤러 진입");
        return "users";
    }
}

소스도 맞게 썼는데 Controller 진입부터 되지 않는 것..
챗gpt도 계속 했던 말만 반복ㅠㅠ
구글링을 다시 해보니까 인텔리제이에서 tomcat deployment의 artifact 설정을 하지 않아서 생긴 문제였다.
말을 해줘야 알지ㅠㅠ

이거..

그래서 이게 뭐냐?
톰캣을 통해서 내가 어떤 아티팩트를 배포할지 설정을 해야 한다는 것.
난 코드 수정하다가 톰캣 돌리면 알아서 설정되는 줄...;; 알잘딲깔센 모르니 인텔리제이야?
그래서 아티팩트는 또 뭐냐? 소프트웨어 개발에서 산출물을 의미함. war 같은 거. 아무튼 난 이걸 설정 안해줘서 톰캣이 공회전(?)을 하고 있었던 것ㅎ

profile
기술블로그 그런 거창한 거 아닙니다. 일기에요 일기

0개의 댓글