我在eclipse indigo中配置了Jetty 7嵌入模式。当我在eclipse中启动jetty时,似乎没有加载我的web.xml和spring-servlet.xml配置。我在网上搜索,似乎每个人都在做与我相同的配置,但是我没有加载。我忘记了什么吗?或Jetty 7配置与jetty 6不同?
Main.java
Server server = new Server(8080);
WebAppContext context = new WebAppContext();
context.setResourceBase("../jettyserver/webapp");
context.setContextPath("/");
context.setParentLoaderPriority(true);
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]{ context, new DefaultHandler()});
server.setHandler(context);
try {
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
的web.xml
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
弹簧servlet.xml中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config />
<context:component-scan base-package="com.jetty.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
答案 0 :(得分:0)
这里不是专家,但如果您使用eclipse,我会说您的资源库可能存在问题。
根据您在此处使用Eclipse的方式(WTP,Maven等),编译后的代码最终会在某个目标文件夹中。然而,您的JSP和所有可能不会跟随或可能不是您认为的那些。
编译代码并查看目标文件夹,查看它的位置。我做了类似的事情,但它正在测试代码,所以我并不关心路径是否链接到我的IDE。我们的版本几乎完全相同,除了这些之外还有适用的差异:
WebAppContext webapp = new WebAppContext();
webapp.setDescriptor("target/app/WEB-INF/web.xml");
webapp.setResourceBase("target/app");
webapp.setContextPath("/app");
正如您在此处所见,Eclipse中应用程序运行时的根路径是项目在工作区中的根路径。我设置了它,所以它发现它是相对于项目的根路径的东西,因此是那里的目标。
但是,如果您正在寻找在您的环境中运行的代码,那么在部署之后,您可能会更改特定应用程序的运行配置中的根文件夹,并将其设置为直接定位(或适用于您的任何内容)。
对不起,这里没有更具决定性,
无论如何,希望这有帮助。