springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。
springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。
1.场景
如果在web.xml中servlet-mapping的url-pattern设置的是/,而不是如.do。表示将所有的文件,包含静态资源文件都交给spring mvc处理。就需要用到<mvc:annotation-driven />了。如果不加,DispatcherServlet则无法区分请求是资源文件还是mvc的注解,而导致controller的请求报404错误。
<servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
 </servlet-mapping>
基础的springmvc.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:mvc="http://www.springframework.org/schema/mvc"
	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-4.3.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/mvc
  		http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
	<!-- 定义组件扫描器,指定需要扫描的包 -->
	<context:component-scan
		base-package="com.lhq.controller"></context:component-scan>
	<!--注解驱动,以使得访问路径与方法的匹配可以通过注解配置-->
	<mvc:annotation-driven /><!-- 如果在web.xml中servlet-mapping的url-pattern设置的是/,而不是如.do。表示将所有的文件,包含静态资源文件都交给spring mvc处理。就需要用到<mvc:annotation-driven />了。如果不加,DispatcherServlet则无法区分请求是资源文件还是mvc的注解,而导致controller的请求报404错误。 -->
	<!-- 解除servlet对静态资源文件访问的限制,使得静态资源先经过 -->
	<!-- <mvc:default-servlet-handler /> -->
	<!--配置静态资源的访问映射,此配置中的文件,将不被前端控制器拦截 -->
	<!-- <mvc:resources location="/js/" mapping="/js/**" />
	<mvc:resources location="/css/" mapping="/css/**" />
	<mvc:resources location="/fonts/" mapping="/fonts/**" />
	<mvc:resources location="/images/" mapping="/images/**" /> -->
	<!-- 定义视图解析器 -->
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- 设置前缀解析器 -->
		<property name="prefix" value="/background/" />
		<!-- 设置后缀解析器 -->
		<property name="suffix" value=".jsp" />
	</bean>
	<!-- 配置拦截器 -->
	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/**" />
			<bean class="com.lhq.interceptor.LoginInterceptor" />
		</mvc:interceptor>
	</mvc:interceptors>
</beans>
												
											springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。的更多相关文章
- 对于springmvc 很奇妙的报404错误的记录
		
@RequestMapping("/editItems") public ModelAndView editItems(Integer id) throws Exception { ...
 - SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案
		
今天做网站[标签]筛选功能时,出现了这么个奇葩的问题. 我是直接通过<a>标签中href来跳转的,url中包含汉字 <a href="/tags/标签A"> ...
 - springmvc项目,浏览器报404错误的问题
		
问题描述: 建立了web工程,配置pom.xml,web.xml,编写controller类,在spring-mvc-servlet.xml文件中指定开启注解和扫描的包位置<mvc:annota ...
 - Eclipse配置tomcat后,启动tomcat,访问tomcat报404错误
		
当你在Eclipse中新建一个工程,配置好tomcat,然后测试tomcat是否配置成功的时候,报404错误异常. 解决方法: 1,把工程文件删除,重新建立一个新的工程, 2,新建一个工程. 3,Ne ...
 - SpringMVC的AJAX请求报406错误
		
SpringMVC的AJAX请求报406错误原因有两种:1.jackson包没有引入 2.如果已经引入jackson包了还报406的错误,那么就有可能是请求的url路径是.html结尾,但是返回的数据 ...
 - pycharm运行html文件报404错误
		
某次发现运行导入的html文件的时候,打开浏览器会报404错误: 而运行自己写的html文件则正常显示: 最后发现这是pycharm缓存问题,只需重启pycharm清除缓存就ok啦!
 - SpringMvc实现批量删除,使用post传值一直报404错误
		
Ajax结合SpringMVC实现批量删除信息,在前台使用post向后台传递要删除的id的集合额时候,一直报404错误, 前台post传值的源码如下: 了解一下: (1)第二行的rows为前面得到的一 ...
 - springmvc 拦截器,不拦截jsp文件
		
spring mvc的拦截器只拦截controller不拦截jsp文件,如果不拦截jsp文件也会给系统带安全性问题. 解决方案有两种: 1.将所有的jsp文件放入到WEB-INF文件夹下,这样用户是直 ...
 - springmvc 配置多视图,返回jsp,velocity,freeMarker,tiles(模板)等等
		
springmvc-servlet.xml配置 <!-- Velocity --> <bean id="velocityViewResolver" class = ...
 
随机推荐
- RPA应用场景-信用卡交易争议后续流程
			
RPA应用场景-信用卡交易争议后续流程 场景概述 信用卡交易争议后续流程 所涉系统名称 客服系统,邮件 人工操作(时间/次) 4小时 所涉人工数量20操作频率 不定时 场景流程 1.RPA自动接收客户 ...
 - 内存泄漏定位工具之 valgrind 使用
			
1 前言 前面介绍了 GCC 自带的 mtrace 内存泄漏检查工具,该篇主要介绍开源的内存泄漏工具 valgrind,valgrind 是一套 Linux 下,开放源代码的动态调试工具集合,能够检测 ...
 - GaussDB(for MySQL) :Partial Result Cache,通过缓存中间结果对算子进行加速
			
摘要:华为云数据库高级内核技术专家详解GaussDB(for MySQL)Partial Result Cache特性,如何通过缓存中间结果对算子进行加速? 本文分享自华为云社区<GaussDB ...
 - MyBatis关联查询和懒加载错误
			
MyBatis关联查询和懒加载错误 今天在写项目时遇到了个BUG.先说一下背景,前端请求更新生产订单状态,后端从前端接收到生产订单ID进行查询,然后就有问题了. 先看控制台报错: org.apache ...
 - lerna学习笔记
			
lerna简介 Lerna 是一个优化基于Git+npm的多package项目的项目管理工具,lerna是架构优化的产物,项目复杂度提升后,架构优化的主要目标是以提高ROI为核心的 lerna的主要功 ...
 - idea 分 环境 配置 线上 测试 本地
			
在resources 新建application.properties 分开在resources 新建的多个环境的文件 #测试环境 applicaion-test.properties #开发环境 a ...
 - 86开关、家电、台扇等6键6路6感应通道高抗干扰触摸IC-VK3606D,稳定性好,抗干扰能力强
			
概述: VK3606D SOP16具有6个触摸按键,可用来检测外部触摸按键上人手的触摸动作.该芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键的检测.提供了6路1对1直接输出低电平有效.最长输 ...
 - CentOS删除桌面环境
			
公司有几台虚拟机安装的是CentOS7的桌面环境,平时也是用终端访问,于是在服务器卡住需要重启时,顺便就把桌面环境给卸载了:测试了好多方法均不成功,最终找到了可行的方式,以此记录: [root@yun ...
 - Odoo 如何下载指定版本源码  && .cfg配置参数
			
# 我们使用应用市场上的模块的时候,经常会碰到模块只兼容特定版本,要将模块兼容到自己版本来的时候,就需要下载它原兼容odoo的版本运行. # 这里的-b后面加的11.0就是它的版本.在git中也就是分 ...
 - BootStrap详解
			
1. bootstrap的安装和使用 官网: https://getbootstrap.com/ 中文网: https://www.bootcss.com/ 菜鸟驿站教程网: https://www. ...