Jetty (응용 프로그램의 일부 임)에서 실행되는 간단한 Spring MVC "Hello world"응용 프로그램을 만들고 싶습니다. 내 응용 프로그램의Jetty에 웹 응용 프로그램 컨텍스트 추가
구조는 다음과 같습니다
|-WEB-INF
| |-view
| |-layout
| |-index.jsp
| |-web.xml
|
|-jetty.xml
|-application-context.xml
내가 web.xml 파일을 기반으로 웹 애플리케이션 컨텍스트를 부두 서버를 만들고 추가하려고 :
Resource jettyConfig = Resource.newSystemResource("jetty.xml");
XmlConfiguration configuration = new XmlConfiguration(jettyConfig.getInputStream());
Server server = (Server)configuration.configure();
WebAppContext wac = new WebAppContext();
wac.setDescriptor("WEB-INF/web.xml");
wac.setContextPath("/");
wac.setParentLoaderPriority(true);
server.setHandler(wac);
server.start();
서버가 잘 시작하지만 내 상황에 맞는없이 : 로그에서 봄 시작에 대한 정보가 없습니다, 봄 mvc 컨트롤러를 사용할 수 없습니다. 아무도 내가 뭘 잘못했는지 생각 해보지 않겠습니까? jetty.xml의의
내용 : WEB-INF/web.xml 파일의
<Configure id="server" class="org.mortbay.jetty.Server">
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="port">9080</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New class="org.mortbay.jetty.handler.HandlerList">
<Set name="handlers">
<Array type="org.mortbay.jetty.Handler">
<Item>
<New class="org.mortbay.jetty.handler.DefaultHandler" />
</Item>
<Item>
<New class="org.mortbay.jetty.handler.ResourceHandler">
<Set name="resourceBase">.</Set>
</New>
</Item>
</Array>
</Set>
</New>
</Set>
</Configure>
콘텐츠 :
<web-app>
<display-name>Hello world</display-name>
<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>application-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<error-page>
<error-code>404</error-code>
<location>/error/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/500.jsp</location>
</error-page>
</web-app>
감사합니다. wac.setResourceBase (".") 설정은 도움이되지 않았지만 "." 절대 경로 (새로운 ClassPathResource ("."). getURI(). toString()) 경로 내 문제 해결! 자세한 내용은 http://stackoverflow.com/questions/1462953/embedded-jetty-looking-for-files-inside-its-jar-file을 참조하십시오. – mikhail