서블릿 매핑+메이븐 오류입니다.
- 작성자 :
- 하*선
- 작성일 :
- 2017-05-29 18:20:52
- 조회수 :
- 4,453
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
일단 에러가 두 가지가 있는데...
1.
web.xml에는 URL이 이동할 때 *.jsp라는 확장자가 *.do로 변하도록 설정이 되어 있는데...
b.jsp->b.do로 주소는 변해도 링크를 타고 들어가면 b.jsp에 있는 내용이 떠야 정상인데, 내용이 전혀 보이지 않습니다.
HTTP404와 WARN [org.springframework.web.servlet.PageNotFound] No mapping found for HTTP request with URI [/jsp/b.do] in DispatcherServlet with name 'action' 라는 로그만이 저를 반깁니다...
*.do를 *.jsp로 바꾸면 잘 됩니다. ...하 다 해서 publishing만 하면 되는데...
2.
maven clean시
[WARNING]
[WARNING] Some problems were encountered while building the effective model for InnoToolsFactory:InnoToolsFactory:war:1.0.0
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: javax.servlet:jstl:jar -> duplicate declaration of version 1.2 @ line 159, column 21
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: taglibs:standard:jar -> duplicate declaration of version 1.1.2 @ line 165, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 276, column 21
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
[WARNING] The expression ${version} is deprecated. Please use ${project.version} instead.
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
이런 에러가 뜹니다.
Build는 되는데 저 에러 뭔가요?
+첨부한 파일은 이 오류와 관련된 파일들입니다.
추가로...
url pattern은 제대로 쓰여 있습니다. 컨트롤러 어노테이션도 제대로 되어 있고요.
@Controller
public class ToolsController {
private static final Logger LOGGER = LoggerFactory.getLogger(ToolsController.class);
@RequestMapping(value = "/a.do")
public String tools(HttpServletRequest request, HttpServletResponse response) throws Exception {
LOGGER.info("a.do");
HttpSession session = request.getSession(true);
return "tools";
}
}
현재 아래와 같이 어노테이션 되어 있습니다.
1.
web.xml에는 URL이 이동할 때 *.jsp라는 확장자가 *.do로 변하도록 설정이 되어 있는데...
b.jsp->b.do로 주소는 변해도 링크를 타고 들어가면 b.jsp에 있는 내용이 떠야 정상인데, 내용이 전혀 보이지 않습니다.
HTTP404와 WARN [org.springframework.web.servlet.PageNotFound] No mapping found for HTTP request with URI [/jsp/b.do] in DispatcherServlet with name 'action' 라는 로그만이 저를 반깁니다...
*.do를 *.jsp로 바꾸면 잘 됩니다. ...하 다 해서 publishing만 하면 되는데...
2.
maven clean시
[WARNING]
[WARNING] Some problems were encountered while building the effective model for InnoToolsFactory:InnoToolsFactory:war:1.0.0
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: javax.servlet:jstl:jar -> duplicate declaration of version 1.2 @ line 159, column 21
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: taglibs:standard:jar -> duplicate declaration of version 1.1.2 @ line 165, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 276, column 21
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
[WARNING] The expression ${version} is deprecated. Please use ${project.version} instead.
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
이런 에러가 뜹니다.
Build는 되는데 저 에러 뭔가요?
+첨부한 파일은 이 오류와 관련된 파일들입니다.
추가로...
url pattern은 제대로 쓰여 있습니다. 컨트롤러 어노테이션도 제대로 되어 있고요.
@Controller
public class ToolsController {
private static final Logger LOGGER = LoggerFactory.getLogger(ToolsController.class);
@RequestMapping(value = "/a.do")
public String tools(HttpServletRequest request, HttpServletResponse response) throws Exception {
LOGGER.info("a.do");
HttpSession session = request.getSession(true);
return "tools";
}
}
현재 아래와 같이 어노테이션 되어 있습니다.
A
안녕하세요.
프레임워크 센터입니다.
1.
>Controller에서 /jsp/b.do url을 처리하는 @requestMapping 있어야 되고 b.jsp 를 콜하는 view가 있어야됩니다.
>실행환경 mvc 참고 해주세요.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:mvc
> 첨부하신 소스상으로 볼때 view 호출치 잘못된거 같습니다.
2.
- must be unique: javax.servlet:jstl:jar -> duplicate declaration
> 해당 라이브러리가 중복되어 선언 된거 같습니다. unique 하게 라이브러리를 설정해주세요.
- must be unique: taglibs:standard:jar -> duplicate declaration
> 해당 라이브러리가 중복되어 선언 된거 같습니다. unique 하게 라이브러리를 설정해주세요.
dispatcher-servlet.xml에서 UrlBasedViewResolver > p:prefix="/jsp/" 지정하셔는데
Controller
@RequestMapping(value = "/a.do"에서 tools jsp를 호출 하셨습니다.
/jsp/ 경로에 파일에 존재 할경우
return "a"; 입니다.
감사합니다.
프레임워크 센터입니다.
1.
>Controller에서 /jsp/b.do url을 처리하는 @requestMapping 있어야 되고 b.jsp 를 콜하는 view가 있어야됩니다.
>실행환경 mvc 참고 해주세요.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:ptl:mvc
> 첨부하신 소스상으로 볼때 view 호출치 잘못된거 같습니다.
2.
- must be unique: javax.servlet:jstl:jar -> duplicate declaration
> 해당 라이브러리가 중복되어 선언 된거 같습니다. unique 하게 라이브러리를 설정해주세요.
- must be unique: taglibs:standard:jar -> duplicate declaration
> 해당 라이브러리가 중복되어 선언 된거 같습니다. unique 하게 라이브러리를 설정해주세요.
dispatcher-servlet.xml에서 UrlBasedViewResolver > p:prefix="/jsp/" 지정하셔는데
Controller
@RequestMapping(value = "/a.do"에서 tools jsp를 호출 하셨습니다.
/jsp/ 경로에 파일에 존재 할경우
return "a"; 입니다.
감사합니다.