Controller의 서블릿 매칭 인식불가
- 작성자 :
- 심*섭
- 작성일 :
- 2016-07-22 10:33:41
- 조회수 :
- 2,438
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요?
전자정부프레임워크 3.5.1 에서 기본 소스 포함하여 프로젝트를 생성 하였습니다.
서버도 생성 하였고 기본 소스인 EgovSample 게시판 목록이 보여집니다.
여기에다 jsp소스를 새로 생성하고,
java 패키지를 생성하고 java소스를 생성하여 하였습니다.
참조.
egovframework.example.sample.web
EgovSampleController.java
@RequestMapping(value = "/egovSampleList.do")
이사생략
egovframework.example.sample.service
생략
egovframework.example.sample.serviceImpl
생략
a1.a2.a3.web
AController.java
@RequestMapping(value = "/aaa.do")
이사생략
a1.a2.a3.service
생략
a1.a2.a3.serviceImpl
생략
위와 같이 기존 샘플소스에 새로 소스를 추가 하였습니다.
index.jsp 에서
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<jsp:forward page="/egovSampleList.do"/>
이것은 웹브라우저에서 게시판이 보여지는데
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<jsp:forward page="/aaa.do"/>
이것은 웹브라우저에서 실행하면
09:23:01,121 INFO [stdout] (http-localhost/127.0.0.1:8080-1) 2016-07-22 09:23:01,121 WARN [org.springframework.web.servlet.PageNotFound] No mapping found for HTTP request with URI [/aaa.do] in DispatcherServlet with name 'action'
콘솔에 위와같은 메시지가 나옵니다.
web.xml 에는
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
이렇게 되어 있습니다.
어디를 수정해야 하는지 어느파일을 수정해야 하는지 답변 부탁 드립니다.
좋은 하루 되세요.
전자정부프레임워크 3.5.1 에서 기본 소스 포함하여 프로젝트를 생성 하였습니다.
서버도 생성 하였고 기본 소스인 EgovSample 게시판 목록이 보여집니다.
여기에다 jsp소스를 새로 생성하고,
java 패키지를 생성하고 java소스를 생성하여 하였습니다.
참조.
egovframework.example.sample.web
EgovSampleController.java
@RequestMapping(value = "/egovSampleList.do")
이사생략
egovframework.example.sample.service
생략
egovframework.example.sample.serviceImpl
생략
a1.a2.a3.web
AController.java
@RequestMapping(value = "/aaa.do")
이사생략
a1.a2.a3.service
생략
a1.a2.a3.serviceImpl
생략
위와 같이 기존 샘플소스에 새로 소스를 추가 하였습니다.
index.jsp 에서
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<jsp:forward page="/egovSampleList.do"/>
이것은 웹브라우저에서 게시판이 보여지는데
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<jsp:forward page="/aaa.do"/>
이것은 웹브라우저에서 실행하면
09:23:01,121 INFO [stdout] (http-localhost/127.0.0.1:8080-1) 2016-07-22 09:23:01,121 WARN [org.springframework.web.servlet.PageNotFound] No mapping found for HTTP request with URI [/aaa.do] in DispatcherServlet with name 'action'
콘솔에 위와같은 메시지가 나옵니다.
web.xml 에는
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
이렇게 되어 있습니다.
어디를 수정해야 하는지 어느파일을 수정해야 하는지 답변 부탁 드립니다.
좋은 하루 되세요.
A
심동섭님, 안녕하세요.
서블릿에 매핑이 되지 않아 생긴 문제이며, 몇가지 확인하실 사항을 안내해 드립니다.
1. 컨트롤러에 @Controller 어노테이션이 붙어있는지에 대한 여부
2. 서블릿 xml 설정파일에 패키지가 선언이 되어있는지 여부
생성하신 AController의 패키지가 a1.a2.a3.web으로 되어있는 것으로 적어주셨는데, 예제소스에서 egovframework로 시작하는 패키지만 scan하여 컨트롤러를 등록합니다. 별다른 설정을 바꾸지 않았을 경우 egov-com-servlet.xml 파일에서 base-package 부분에 최상단 패키지를 추가로 설정해 주시면 됩니다.
ex) <context:component-scan base-package="egovframework a1">
3. 입력하신 주소가 잘못 입력되었는지에 대한 여부
감사합니다.
서블릿에 매핑이 되지 않아 생긴 문제이며, 몇가지 확인하실 사항을 안내해 드립니다.
1. 컨트롤러에 @Controller 어노테이션이 붙어있는지에 대한 여부
2. 서블릿 xml 설정파일에 패키지가 선언이 되어있는지 여부
생성하신 AController의 패키지가 a1.a2.a3.web으로 되어있는 것으로 적어주셨는데, 예제소스에서 egovframework로 시작하는 패키지만 scan하여 컨트롤러를 등록합니다. 별다른 설정을 바꾸지 않았을 경우 egov-com-servlet.xml 파일에서 base-package 부분에 최상단 패키지를 추가로 설정해 주시면 됩니다.
ex) <context:component-scan base-package="egovframework a1">
3. 입력하신 주소가 잘못 입력되었는지에 대한 여부
감사합니다.