프로젝트명 마우스 우클릭 -> Properties -> Web Project Settings의
Context root도 /로 되어있나요?
똑같이 맞춰줘야 경로가 제대로 반영됩니다.
terry님 @RequestMapping("/SpringTemplate/helloPage.do")
이렇게 해야하나요?
server.xml에서 path를 "/" 로 잡아줬는데..
이렇게 해야하나요?
server.xml에서 path를 "/" 로 잡아줬는데..
간만에 맛보는 짜릿한 404에러! (스프링)
옥희에서 java/jsp qna 게시판을 가장 좋아하는 꽁치여요
올 여름을 강타할 404에러와 맞서 싸우다
지쳐서 질문을 올려요
템플릿용 프로젝트를 하나 만들어 두려고 기존 프로젝트에서
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>
정말 문제가 없는듯한데 왜 컨트롤러 조차 타지 않을까요?
더워서 그런가?;;