问题描述:
springmvc+mybatis项目,tomcat插件成功启动后,访问报404的错误。
个人排查:
1.将其独立部署到tomcat服务器而不用tomcat插件可以成功启动并访问。
2.tomcat插件启动成功后,target下的classes目录下面没有配置文件,但是有class文件。buildpath中已经配置输出文件夹为target/classes,仍然无效。
tomcat插件配置:
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<update>true</update> <!-- 热部署 -->
<charset>utf-8</charset> <!-- 设置字符集 -->
<uriEncoding>UTF-8</uriEncoding><!-- 设置uri编码 -->
<port>8080</port> <!-- 设置端口 -->
<path>/</path><!-- 设置默认访问应用的路径 -->
</configuration>
</plugin>
</plugins>
前端控制器配置:
<!-- 前端控制器 -->
<!-- The front controller of this Spring Web application, responsible for
handling all application requests -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:springmvc/springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Map all requests to the DispatcherServlet for handling -->
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
controller:
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/")
public String hello() {
return "index";
}
@RequestMapping("/user")
@ResponseBody
public List<User> getUserList() {
List<User> list = userService.getUserList();
return list;
}
}
访问url:localhost:8080,正常应该跳转到index.jsp界面,实际输出:No mapping found for HTTP request with URI [/] in DispatcherServlet with name 'springDispatcherServlet'
。