马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如题,使用idea用springMVC部署一个项目后,启动Tomcat后显示404错误,以下是相关配置文件和类
web.xml<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--配置springMVC的核心控制器,是一个servlet-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC.xml</param-value>
</init-param>
</servlet>
<!--映射请求地址-->
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--
//加载spring容器
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
listener
-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
</web-app>
springMVC.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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--通知spring扫描-->
<context:component-scan base-package="edu.zjku.xing.smbms.web"/>
<!--配置视图处理器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/smbms/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!--告诉springMVC通过注解驱动-->
<mvc:annotation-driven/>
<!--配置静态资源访问-->
<mvc:resources mapping="/static/**" location="/staticResource"/>
</beans>
使用到的类UserController.javapackage edu.zjku.xing.smbms.web;
import edu.zjku.xing.smbms.entity.User;
import edu.zjku.xing.smbms.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import java.util.List;
//业务控制器
@Controller//通知spring构建UserController的实例
@RequestMapping("/user")//映射请求地址
public class UserController {
@Resource//请spring帮助注入UserService实例
private UserService userService;
//查询出所有user,处理器handler
//返回值是逻辑视图名
@RequestMapping("/list")//映射请求地址
public String list(Model model){//
//调service
List<User> userList = this.userService.find();
model.addAttribute("userList",userList);//model中的数据在请求HttpServletRequest的作用域范围内
for (User user : userList) {
System.out.println("user.getUserName() = " + user.getUserName());
}
return "user/list";//返回逻辑视图名,转发到物理视图名:WEB-INF/smbms/user/list.jsp
}
}
当你看到 404 错误,这意味着服务器无法找到你请求的资源。在你的情况中,这可能是由于以下几个原因:
1. Web 服务器(Tomcat)配置问题:请检查你的 Tomcat 配置。确保你的项目已经被正确部署并且可以运行。
2. 项目部署路径问题:你的项目可能没有被部署在你期望的路径上。请检查你的项目的部署路径。例如,如果你的项目名为"myproject",你应该能在"http://localhost:8080/myproject/"中看到你的项目。
3. Spring MVC 配置问题:你的 DispatcherServlet 配置可能存在问题。检查你的 web.xml 文件和 springMVC.xml 文件,确保它们都正确地配置了你的 Spring MVC 应用。
4. 控制器(Controller)问题:你的 UserController 可能存在问题。请确保 "/user/list" 路径可以被正确映射并且对应的方法(list)可以被调用。
5. JSP 文件位置问题:你的 JSP 文件可能没有放在正确的位置。在你的 springMVC.xml 文件中,你配置的 JSP 文件应该放在 "/WEB-INF/smbms/" 目录下。请确保你的 JSP 文件是在这个位置。
6. URL问题:确保你访问的 URL 是正确的。例如,你应该能在"http://localhost:8080/myproject/user/list" 中看到用户列表。
最后,为了更好地解决问题,你可以查看 Tomcat 日志以及 Spring MVC 的日志,这些日志通常能给出详细的错误信息和提示。
|