SSM项目可以正常启动并访问,控制台无报错,但是项目调用controller层返回404

2023-11-13

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	version="2.5">	
   <!-- 解决post乱码 -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
		<init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>	
	
  <servlet>
  	<servlet-name>springmvc</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	<!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载-->
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:spring/spring-*.xml</param-value>
  	</init-param>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>springmvc</servlet-name>
  	<url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
    <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/spring-security.xml</param-value>
	 </context-param>
	 <listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	 </listener>
	
	 <filter>  
		<filter-name>springSecurityFilterChain</filter-name>  
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>  
	 </filter>  
	 <filter-mapping>  
		<filter-name>springSecurityFilterChain</filter-name>  
		<url-pattern>/*</url-pattern>  
	 </filter-mapping>
	
</web-app>

上述文件为web.xml

此为项目配置文件

项目配置文件

 

 

 

 

出错原因:

仔细核查后发现是servlet标签下springmvc的解析地址写错了

将classpath:spring/springmvc,xml写成了classpath:spring/spring-*,xml

导致项目无法解析视图。

修改的地方:

修改 classpath:spring/spring-*,xml改为classpath:spring/springmvc,xml

再将context-param标签下的param-value中的值

classpath:spring/spring-security.xml改为classpath:spring/spring-*,xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	version="2.5">	
   <!-- 解决post乱码 -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
		<init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>	
	
  <servlet>
  	<servlet-name>springmvc</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	<!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载-->
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:spring/springmvc.xml</param-value>
  	</init-param>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>springmvc</servlet-name>
  	<url-pattern>*.do</url-pattern>
  </servlet-mapping>
  
    <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/spring-*.xml</param-value>
	 </context-param>
	 <listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	 </listener>
	
	 <filter>  
		<filter-name>springSecurityFilterChain</filter-name>  
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>  
	 </filter>  
	 <filter-mapping>  
		<filter-name>springSecurityFilterChain</filter-name>  
		<url-pattern>/*</url-pattern>  
	 </filter-mapping>
	
</web-app>

更改后,项目就正常了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SSM项目可以正常启动并访问,控制台无报错,但是项目调用controller层返回404 的相关文章

随机推荐

  • MAC系统 批量删除一个项目中的所有.svn

    打开终端 进入项目所在的文件夹 使用命令find type d name svn xargs rm rvf就可将项目的 svn全部删除
  • Oracle存储过程总结(一、基本应用)

    1 创建存储过程 create or replace procedure test var name 1 in type var name 2 out type as 声明变量 变量名 变量类型 begin 存储过程的执行体 end tes
  • React系列之useState

    目录 1 基础使用 2 状态的读取和修改 3 组件的更新过程 4 使用规则 1 基础使用 作用 useState为函数组件提供状态 state 使用步骤 导入 useState 函数 调用 useState 函数 并传入状态的初始值 从us
  • 人脸识别刷脸以往大多应用在安防领域

    最近你会看到各大媒体 网络平台都是关于刷脸的报道 感觉不聊聊刷脸是不是就已经跟这个时代脱节了 简单的说 刷脸支付是一种连手机都不需要的新型支付方式 刷脸支付意味着在手机没电 信号不好 因为卡顿打不开支付宝和微信 甚至出门忘记带手机时也能完成
  • AMBA低功耗接口(一)Q_Channel

    AMBA提供了 低功耗的接口 用于实现power控制功能 目前 AMBA里面 包含2种低功耗接口 Q Channel 实现简单的power控制 如上电 下电 P Channel 实现复杂的power控制 如全上电 半上电 1 4上电等 AR
  • 微服务springcloud环境下基于Netty搭建websocket集群实现服务器消息推送----netty是yyds

    netty搭建websocket 1 背景 2 websocket 3 netty 3 1 socket 3 2 Java IO模型 3 3 netty 3 3 1 概念 3 3 2 三大特点 3 3 3 主从Reactor架构图 3 3
  • 期货基础知识

    一 期货是什么 期货是与现货相对应 并由现货衍生而来 期货通常指期货合约 期货与现货完全不同 现货是实实在在可以交易的货 商品 期货主要不是货 而是以某种大众产品如棉花 大豆 石油等及金融资产如股票 债券等为标的标准化可交易合约 因此 这个
  • C++11下的单例模式

    动机 在软件系统中 经常有这样一些特殊的类 必须保证它们在系统中只存在一个实例 才能确保它们的逻辑正确性 以及良好的效率 绕过常规的构造器 提供一种机制来保证一个类只有一个实例 定义 保证一个类仅有一个实例 并提供一个该实例的全局访问点 1
  • Java 反射小案例(使用配置文件)

    Java 反射小案例 使用配置文件 记录学习过程 定义两个类一个Student 一个Person 还有一个 主类Reflect Test 再加一个配置文件 两类 public class Student public void sleep
  • RabbitMQ死信队列学习笔记

    视频地址 死信的概念 先从概念解释上搞清楚这个定义 死信 顾名思义就是无法被消费的消息 字面意思可以这样理解 一般来说 producer 将消息投递到 broker 或者直接到 queue 里了 consumer 从 queue 取出消息进
  • JDBC连接

    JDBC连接 加载JDBC驱动程序 打开JDBC连接 打开带有URL的连接 使用URL 用户和密码打开连接 使用URL和属性打开连接 关闭JDBC连接 通过Try With Resources关闭连接 setAutoCommit commi
  • 在机器学习中,你需要多少训练数据?

    你为什么会问这个问题 首先我们要搞清楚你为什么会问需要多大的训练数据集 可能你现在有以下情况 你有太多的数据 可以考虑通过构建学习曲线 learning curves 来预估样本数据集 representative sample 的大小或者
  • 焊缝识别技术研究

    一 绪论 提高焊接效率和保证焊接质量是焊接产业行业的重要发展方向 示教 在线 的编程模式需要占用大量的编程时间 效率低下 同时 示教的精度难以保证 可重复性差 难以适用于复杂的机器人作业 离线编程软件有RobotMaster RobotSt
  • JS判断对象、数组是否包含某个属性、某个值

    一 判断对象是否包含某个属性 可以使用以下几种方法来判断对象是否包含某个属性 1 in 操作符 使用 in 操作符可以检查对象是否包含指定的属性 它会检查对象及其原型链上的所有属性 const obj name John age 25 co
  • 2023智源大会议程公开丨视觉与多模态大模型论坛

    6月9日 2023北京智源大会 将邀请AI领域的探索者 实践者 以及关心智能科学的每个人 共同拉开未来舞台的帷幕 你准备好了吗 与会知名嘉宾包括 图灵奖得主Yann LeCun OpenAI创始人Sam Altman 图灵奖得主Geoffr
  • 第十六篇:关于Unity开发WebGL遇到的坑

    1 资源消耗问题 Unity开发Web 项目 发布出来的项目是很消耗内存资源的 这是Unity引擎决定 我们要做的就是尽可能的优化 通常的方法有降低模型面数 降低贴图的大小 减少点光源 减小烘焙贴图大小等 当然也可以使用three js开发
  • 机器人流程自动化(RPA):6大开源工具

    51CTO com快译 与实施许多新软件一样 开始使用机器人流程自动化 RPA 方面面临自建还是外购的选择 如果是自建 只要你有合适的人员 预算到位 可以从头开始编写自己的机器人 如果是外购 有一个新兴的商业软件供应商市场 它们提供各式各样
  • 数据链路层--以太网协议

    目录 以太网协议 认识以太网 以太网帧格式 认识MAC地址 认识MTU 数据跨网络传输的过程 ARP协议 ARP概念 ARP数据的格式 ARP协议的工作流程 ARP请求的过程 ARP应答的过程 ARP缓存表 在学习完ip协议后知道 网络层解
  • 大话设计模式学习 C++

    工厂模式 include bits stdc h using namespace std 基类 进行操作 class Operation protected data double numberA 0 double numberB 0 pu
  • SSM项目可以正常启动并访问,控制台无报错,但是项目调用controller层返回404