鱼C论坛

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

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

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

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

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

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.java
package 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
    }
}
最佳答案
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 的日志,这些日志通常能给出详细的错误信息和提示。
想知道小甲鱼最近在做啥?请访问 -> 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 的日志,这些日志通常能给出详细的错误信息和提示。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 21:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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