为什么同样在web工程webContent目录下建了一个html页面,http://localhost:8080/springmvcDemo/index.html访问却报404?
为什么在web工程webContent目录下建了一个jsp页面,http://localhost:8080/springmvcDemo/index.jsp可以直接访问?

【分析】

该web工程使用spring+spring mvc+mybatis框架,在工程web.xml文件中配置了spring mvc的前置控制器DispatcherServlet,如下图所示:

DispatcherServlet会对匹配的请求进行拦截,当拦截的url-pattern设置的是 / 时,就不会匹配到*.jsp的URL,但会匹配*.html和形如/user的URL,所以,当拦截到*.html后,就会进入spring mvc的DispatcherServlet类,然后去寻找controller,接着找不到对应的controller,资源找不到、所以报404。

【解决方法】

方法一:将上面方框中的代码注释掉;

方法二:web.xml添加如下代码(激活defaultServlet来处理静态文件):

<servlet-mapping>     
        <servlet-name>default</servlet-name>    
        <url-pattern>*.html</url-pattern>       
    </servlet-mapping>

注意:考虑性能问题,最好将上面代码写在spring mvc的DispatcherServlet的前面,否则程序需要先执行DispatcherServlet拦截*.html请求,然后再执行defaultServlet时,又放开*.html请求,多走了一步。
<spring-mvc.xml>配置文件中配置视图解析器

在方法二中,我们在后缀中配“.html”时。在访问http://localhost:8080/spingmvcDemo/index时会默认访问index.html

在方法二中,我们在后缀中配“.jsp”时。在访问http://localhost:8080/spingmvcDemo/index时会默认访问index.jsp

如何在web项目中访问HTML页面相关推荐

  1. 如何在vue项目中引入html页面

    在vue项目中引入html页面的两种方法 第一种:/static/page.html 第二种:通过iframe嵌入 第一种:/static/page.html 在static或public文件夹下,新 ...

  2. SpringBoot项目中访问HTML页面

    SpringBoot默认的页面映射路径(即模板文件存放的位置)为"classpath:/templates/*.html".静态文件路径为"classpath:/stat ...

  3. 如何在vue项目中,跨页面(跨路由)使用新手引导工具 Intro.js

    文章目录 功能要求 使用Intro.js遇到的问题以及代码 1.不能跨路由 utils -> intro.js 2.要在页面引导所需显示的数据全部拿到且渲染完毕以后加载Intro.js intr ...

  4. asp.net Web项目中使用Log4Net进行错误日志记录

    使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变 ...

  5. idea 启动php项目路径,关于idea中Java Web项目的访问路径问题

    说明 这里只以 servlet 为例,没有涉及到框架,但其实路径的基本原理和框架的关系不大,所以学了框架的同学如果对路径有疑惑的也可以阅读此文 项目结构 在 idea 中新建一个 Java Web 项 ...

  6. maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...

    标签: 本篇内容还是建立在上一篇Java Web学习系列--Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Ja ...

  7. Web项目中前端页面引用外部Js和Css的路径问题

    公众号:南宫一梦 Web项目中前端页面引用外部Js和Css的路径问题 一般我们在做Web项目时,通常会将多个页面引入的公共js和css文件抽取出来,单独写成一个公共文件,以期方便各个页面单独引入,达到 ...

  8. JAVA Web项目中所出现错误及解决方式合集(不断更新中)

    JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...

  9. Web项目中引进EasyUI的路径问题

    场景 Web项目中引入EasyUI,新建test.html,页面中引入EasyUI相关资源文件. 运行后页面并没有改变,打开检查提示404找不到资源. 实现 项目路径为: 路径引用错误: test.h ...

最新文章

  1. 2021年吴文俊人工智能科学技术奖获奖名单公示!潘云鹤院士获最高成就奖
  2. ASP.NET中使用Global.asax文件
  3. 源码解读腾讯 GT 的性能测试方案
  4. [渝粤教育] 中国地质大学 材料力学 复习题 (2)
  5. 洛谷 P1091 合唱队形
  6. iOS应用图片命名规则
  7. centos 6.8安装git_搭建一个开源项目3两种方式安装git
  8. ros::spin() 和 ros::spinOnce()
  9. matlab三相系统电阻折算,基于MATLAB三相异步电动机调压调速系统方案.doc
  10. 关于解决vensim9.2版本无法显示中文的办法
  11. 基于springboot实验室管理系统
  12. java 实现macd算法_macd 的java版本实现 包含测试用例
  13. 公司倒闭 1 年了,而我当年的项目上了 GitHub 热榜
  14. 微信编辑器哪个好用?-----亲测,良心推荐微编王
  15. 世上本没有对错,看问题的角度不同,答案不同而已,我们应该学会常常用别人的角度看世界,多一分宽容,多一分理解,多一分求同存异。
  16. img标签加载src图片,图片逆时针旋转了90度,解决方案
  17. c语言 is函数,关于C语言回调函数的详解~
  18. 【AAAI 2020】全部接受论文列表(三)
  19. 虐哭java面试官--聊一聊hashmap
  20. 中小企业的四个数据存储方法和措施

热门文章

  1. 微信小程序 组件化开发 实现 导航分类文章 小程序
  2. 安装maskrcnn-banchmark时遇到的“AT_CHECK“ is undefined错误
  3. 【工具】VSCode无法正常启动Terminal窗口
  4. (1986年 - 2022年)沈先生的回忆篇
  5. CI框架中表单取值 $this-input-post('city');
  6. 创建Mac的shell命令文件(xxx.sh)
  7. 在电脑上显示未知发布者怎么办_Win7无法验证发行者、未知发布者的解决方法...
  8. 【ArcGIS微课1000例】0038:注记(Annotation)的使用方法
  9. gis等高线注记掩膜
  10. 传递给数据库 'master' 中的日志扫描操作的日志扫描号无效