鱼C论坛

 找回密码
 立即注册
查看: 1549|回复: 1

[已解决]springMVC部署网页后404错误

[复制链接]
发表于 2023-5-31 12:52:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题,使用idea用springMVC部署一个项目后,启动Tomcat后显示404错误,以下是相关配置文件和类
web.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5.          version="4.0">
  6.     <!--配置springMVC的核心控制器,是一个servlet-->
  7.     <servlet>
  8.         <servlet-name>DispatcherServlet</servlet-name>
  9.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  10.         <init-param>
  11.             <param-name>contextConfigLocation</param-name>
  12.             <param-value>classpath:springMVC.xml</param-value>
  13.         </init-param>
  14.     </servlet>
  15.     <!--映射请求地址-->
  16.     <servlet-mapping>
  17.         <servlet-name>DispatcherServlet</servlet-name>
  18.         <url-pattern>/</url-pattern>
  19.     </servlet-mapping>
  20.     <!--
  21.     //加载spring容器
  22.         ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
  23.         listener
  24.     -->
  25.     <listener>
  26.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  27.     </listener>
  28.     <context-param>
  29.         <param-name>contextConfigLocation</param-name>
  30.         <param-value>classpath:applicationContext.xml</param-value>
  31.     </context-param>

  32. </web-app>
复制代码

springMVC.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.        xmlns:context="http://www.springframework.org/schema/context"
  5.        xmlns:mvc="http://www.springframework.org/schema/mvc"
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans
  7.      http://www.springframework.org/schema/beans/spring-beans.xsd
  8.      http://www.springframework.org/schema/context
  9.      http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  10.     <!--通知spring扫描-->
  11.     <context:component-scan base-package="edu.zjku.xing.smbms.web"/>
  12.     <!--配置视图处理器-->
  13.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  14.         <property name="prefix" value="/WEB-INF/smbms/"></property>
  15.         <property name="suffix" value=".jsp"></property>
  16.     </bean>
  17.     <!--告诉springMVC通过注解驱动-->
  18.     <mvc:annotation-driven/>
  19.     <!--配置静态资源访问-->
  20.     <mvc:resources mapping="/static/**" location="/staticResource"/>


  21. </beans>
复制代码

使用到的类UserController.java
  1. package edu.zjku.xing.smbms.web;

  2. import edu.zjku.xing.smbms.entity.User;
  3. import edu.zjku.xing.smbms.service.UserService;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.ui.Model;
  6. import org.springframework.web.bind.annotation.RequestMapping;

  7. import javax.annotation.Resource;
  8. import java.util.List;
  9. //业务控制器
  10. @Controller//通知spring构建UserController的实例
  11. @RequestMapping("/user")//映射请求地址
  12. public class UserController {
  13.     @Resource//请spring帮助注入UserService实例
  14.     private UserService userService;
  15.     //查询出所有user,处理器handler
  16.     //返回值是逻辑视图名
  17.     @RequestMapping("/list")//映射请求地址
  18.     public String list(Model model){//
  19.         //调service
  20.         List<User> userList = this.userService.find();
  21.         model.addAttribute("userList",userList);//model中的数据在请求HttpServletRequest的作用域范围内
  22.         for (User user : userList) {
  23.             System.out.println("user.getUserName() = " + user.getUserName());
  24.         }
  25.         return "user/list";//返回逻辑视图名,转发到物理视图名:WEB-INF/smbms/user/list.jsp
  26.     }
  27. }
复制代码
最佳答案
2023-5-31 12:54:15
当你看到 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 的日志,这些日志通常能给出详细的错误信息和提示。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-5-31 12:54:15 | 显示全部楼层    本楼为最佳答案   
当你看到 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 的日志,这些日志通常能给出详细的错误信息和提示。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 00:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表