간단한 스프링프레임워크 웹 프로젝트를 하나 만들었는데
얼어죽을 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 같은 거. 아무튼 난 이걸 설정 안해줘서 톰캣이 공회전(?)을 하고 있었던 것ㅎ