SPRING
2018.03.12 / 01:18

간만에 맛보는 짜릿한 404에러! (스프링) - tomcat spring 404

휴고
추천 수 92

올리신 톰켓에 server.xml 에 context 에서 path 경로 를 확인해주세요 /


<Context docBase="test" path="/test" reloadable="true" source="org.eclipse.jst.j2ee.server:test"/></Host>

위와같이되있다면 아래로 바꿔주세요

<Context docBase="test" path="/" reloadable="true" source="org.eclipse.jst.j2ee.server:test"/></Host>



템플릿용 프로젝트를 하나 만들어 두려고 기존 프로젝트에서
jar파일들 옮기고 간단하게 하나 만드는 중이어요

근데 헐! 404 ㅠㅠ
콘솔에 크게 심각한 에러는 안나오네요

http://localhost:8080/helloPage.do  접속하면
컨트롤러를 아예 못타는듯 보여요
컨트롤러안에 시스템.아웃.프린트.엘엔("hello); 했는데도 안떠요 ㅠ
다음은 컨트롤러여요
package kr.co.springtemplate.controller;


@Component // 서블릿에서 빈으로 자동 등록 할 수 있게 컴포넌트 적용
@Controller // 이 클래스가 컨트롤러를 구현한 클래스라는 것을 지정
public class HelloConterller {

@Autowired
private HelloService helloService;

// @RequestMapping 어노테이션: 클라이언트의 요청을 처리할 메서드를 지정
// localhost:8080/컨텍스트경로/helloPage.do 요청이 오면 helloPage()메서드가 처리
@RequestMapping("/helloPage.do")
public String helloPage(HttpServletRequest request) throws Exception{
request.setCharacterEncoding("utf-8");

System.out.println("on hello controller!");

return "helloPage";
}

문제 없죠? 그죠?
리퀘스트매핑도 화끈하게 해줬고 이건 컨트롤러임, 컴포넌트임 지정도 해주었어요

다음은 디스패춰.xml이어요
<context:component-scan base-package="kr.co.springtemplate" />
<!-- tiles 설정 -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>

<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"></property>
</bean>

kr.co.springtemplate 패키지 밑으로 샅샅히 뒤져서
한놈도 남김없이 빈으로 등록하라고 엄명을 내렸는데 태업중인듯 해요

다음은 web.xml이어요

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<!-- 한글 인코딩 처리 -->
<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> <!-- contextPath 밑으로 모두 -->
</filter-mapping>

<servlet>
<!-- 서블릿 클래스의 이름과 패키지 경로 -->
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

다음은 톰캣의 server.xml 이어요

<Context docBase="SpringTemplate" path="/SpringTemplate" reloadable="true" source="org.eclipse.jst.jee.server:SpringTemplate"/></Host>

정말 문제가 없는듯한데 왜 컨트롤러 조차 타지 않을까요?
더워서 그런가?;;