发现问题的原因:写了一个简单的Spring MVC 项目,web.xml,springmvc.xml 配置都是对的,项目部署到tomcat下面启动正常,无任何错误,但是启动tomcat 后,通过浏览器访问controller,但是无论如何都无法访问,tomcat无任何日志。pom.xml 关于build部分的设置如下:
<build>
<finalName>yt-web-cloud-sound</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<verbose />
<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warSourceDirectory>webapp</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
这里: <warSourceDirectory>webapp</warSourceDirectory> 指定了web 的根目录,然后我再网上搜索说加上:
<configuration>
<warSourceDirectory>webapp</warSourceDirectory>
<webXml>webapp/WEB-INF/web.xml</webXml>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
这里指定加载web.xml ,但是install 后发现找不到该web.xml,然后我仔细看下了项目结构,发现webapp在src目录下面,没有在根目录下面:
接下来我把webapp剪切到项目根目录下后,再重新install ,一切正常。
这说明按照myeclipse新建的maven web 项目的目录结构是不对的,需要手动设置项目的结构