如上两幅图所示,使用 war exploded 模式部署时并没有将/lib
目录以及WEB-INF
下的views
目录部署到target/SpringMVCDemo/WEB-INF
下;使用war模式也是一样。但是使用mvn package
命令则能够得到将lib
以及资源文件夹views
打包的war文件。请问是我的配置问题吗?
另外,运行时总是无法正常访问,显示如下界面:
这是该原因引起的吗?
我的web.xml
文件:
xml
<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
我的dispatcher-servlet.xml
文件:
xml
<mvc:annotation-driven/> <context:component-scan base-package="org.psy.practice.springmvc" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean>
HomeController.java
文件
java
@Controller public class HomeController { ... @RequestMapping("/") public String showIndexPage(Model model) { System.out.println("in HomeController showIndexPage"); return "index"; } ... }
index.jsp
是一个很简单的显示"hello, world"的页面。
昨天晚上换了一台机器,另外把所有空的
xml
文件加上了基本的数据,tiles
版本改成了3.0,发现可以正常访问了。不太清楚是电脑问题还是xml
文件的问题,但是至少说明了基础的配置是正确的。但是今天发现依旧在原来机器上无法正常运行,
target
目录下无法生成lib
文件夹,views
文件夹也无法正常部署。不知道到底是哪里设置出了问题。今天下午再次试验,重新添加了
artifact
,发现又正常了。到现在为止还是不清楚什么地方出了问题。如果有人知道答案的话,烦请告知。