2015-02-06 9 views
0

나는 스프링 응용 프로그램에서 부두를 사용합니다. Jetty 8에서 Jetty 9로 마이그레이션 한 후 (SelectChannelConnector를 ServerConnector로 대체 한 후) 주 웹 사이트 주소 (스프링 보안이/login으로 리디렉션 됨)로 이동 한 후 404 오류 코드가 남았습니다. 로그 :부두 9 번 검색 HTML 파일 PWC6117 : 파일을 찾을 수 없음

오류 : PWC6117 : 파일 "/ 사용자/쟈니/프로젝트/mypro/모듈/백 오피스/SRC/메인/웹 애플리케이션/로그인" 내 경우

에 web.xml 파일을? 준수하지 않는 부두 9 같습니다

를 찾을 수 없음

<servlet> 
    <servlet-name>login</servlet-name> 
    <jsp-file>/login.jsp</jsp-file> 
</servlet> 

<servlet-mapping> 
    <servlet-name>login</servlet-name> 
    <url-pattern>/login</url-pattern> 
</servlet-mapping> 

및 웹 구성 개체의 구성은 다음과 같습니다.

Server server = new Server(); 

WebAppContext webapp = new WebAppContext(); 
webapp.setContextPath(path); 
webapp.setDescriptor("*src/main/webapp*/WEB-INF/web.xml"); 
webapp.setBaseResource(new ResourceCollection("*src/main/webapp*")); 

HandlerList handlers = new HandlerList(); 
ServerConnector connector = new ServerConnector(server); 
connector.setPort(*port*); 
server.setConnectors(new Connector[]{connector}); 
handlers.addHandler(webApp); 
server.setHandler(handlers); 
server.start(); 
server.join(); 

나는 /loginlogin.jsp에게 제공했으면 좋겠다.

여전히 부두를 올바르게 설치하는 방법을 모른다면 web.xml, 어떤 아이디어가 있습니까?

+0

부분적인 해결책은 서블릿 로그인하는 다시 쓰기의 login.jsp에하고 대신'의 (몇 가지 큰 사람의 이름을) jsp- file'add'servlet-class' 그리고 괜찮습니다.하지만 이것은 다소 불쾌하고 jsp 파일을 갖고 싶습니다. – hanskoff

답변

0

코드 스 니펫이 웹 응용 프로그램을 초기화하는 방법을 나타내는 경우 JSP 초기화 단계가 누락되었습니다. 에

https://github.com/jetty-project/embedded-jetty-jsp

에주의에 내장 된 부두와 JSP를 사용하는 방법을 보여주는 부두 프로젝트에 의해 생산 된 예제 프로젝트가있다

...

  • 필요한 클래스 로더 유형
  • scratchDir 선언
  • ServletContainerInitializer 설정
  • 는 JSP 서블릿 홀더 및 매핑
  • InstanceManager

+0

안녕하세요, 제 질문을 조금 바꿨습니다 .jsp 파일은 html로만 제공됩니다 (jetty8에서). 괜찮 았어).광산 자원 처리기를 추가했지만 fatjar에 모든 것을 팩할 때 완전히 작동하지 않습니다. ResourceHandler resHandler = new ResourceHandler(); resHandler.setResourceBase("/path/to/login.jsp"); ContextHandler ctx = new ContextHandler("/login"); ctx.setHandler(resHandler); hanskoff

+0

[ResourceHandler와 ServletContextHandler를 혼합하지 마십시오] (http://stackoverflow.com/a/28419106/775715) (사실, ResourceHandler를 사용하지 마십시오. DefaultServlet에 비해 이점이 없습니다.) –