springmvc中controller路由出现404

javaspringmvc中controller路由出现404

problem

javaspringmvc中controller路由出现404

reason

可能原因有很多

  • idea配置不对
  • 编译配置不对
  • xml配置
  • jsp位置

solution

  1. 核对idea配置

    mac: idea->File -> Project Structure

    最重要的是 Artifacts,默认配置不对需要手动添加lib包

  2. 核对编译配置

    mac: idea -》Run -》Edit Configurations -》 点绿色的+号,选择 tomcat-->local -》出现弹窗

弹窗配置server

弹窗配置Deployment

  • 点击 + 号
  • 选择: Artifact...
  • 选择完成后,中间区域出现 spring02-mvc:war exploded
  • Application context: / 默认是 /spring02_mvc_war_exploded
  1. xml配置
xml 复制代码
<!-- web/WEB-INF/web.xml 重要! 否则controller新的路由会出现404  
    修改 url-pattern 标签 修改前: <url-pattern>*.form</url-pattern>  修改后: <url-pattern>/</url-pattern>-->
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <!-- <url-pattern>*.form</url-pattern>-->
    <url-pattern>/</url-pattern>
</servlet-mapping>
  1. jsp配置
  • 配置文件: web/WEB-INF/dispatcher-servlet.xml
  • JSP 根据配置存放jsp文件配置
xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    // <!--支持注解,例如@Controller,对应src下controller的包名-->
    <context:component-scan base-package="com.ah" />
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        // <!-- 配置JSP页面的位置:比如controller中return "hi" 对应文件位置是 /web/template/hi.jsp -->
        <property name="prefix">
            <value>/template/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>
</beans>
相关推荐
Lhappy嘻嘻7 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒7 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
懒鸟一枚10 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我1234512 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑12 小时前
Sentinel安装
java·后端·微服务
凤凰院凶涛QAQ13 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
掘金_答案14 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
猿与禅15 小时前
CosId 分布式 ID 生成器完全教程:从架构原理到生产落地
java·shardingsphere·雪花算法·分布式id·高性能·cosid·号段模式
MindUp15 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
NG47715 小时前
【软件设计与体系结构】-策略设计模式
java·设计模式·软件工程