前两篇文章介绍404问题,但是本质原因还是没有给出来,此时也不能给出答案,很是抱歉,但是这个问题我会一直跟踪。哪天知道本质原因,我会及时更新博客。

这篇文章接着分析[Servletname]-servlet.xml为什么需要放置src下面:

有的博客上的一般也可以将[Servletname]-servlet.xml文件放置在webcontent下面:

但是爆出:

严重: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [HelloWeb-servlet.xml]; nested exception is java.io.FileNotFoundException: class path resource [HelloWeb-servlet.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:612)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:513)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4909)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3746)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:292)
at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5523)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1378)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1382)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1382)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1350)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: class path resource [HelloWeb-servlet.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)
... 30 more

是不是我们在web.xml中配置了

 <init-param><param-name>contextConfigLocation</param-name><param-value>classpath:HelloWeb-servlet.xml</param-value></init-param>

本来spring默认配置的xml就是[servletname]-servlet.xml

去掉试试呢?

web.xml文件:

<web-app id="WebApp_ID" version="2.4"  xmlns="http://java.sun.com/xml/ns/j2ee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  <display-name>Spring MVC Application</display-name>  <servlet>  <servlet-name>HelloWeb</servlet-name>  <servlet-class>  org.springframework.web.servlet.DispatcherServlet  </servlet-class>  <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>  <servlet-name>HelloWeb</servlet-name>  <url-pattern>/</url-pattern>  </servlet-mapping>  <welcome-file-list><welcome-file>Test</welcome-file></welcome-file-list>
</web-app>  

爆出init fail 500错误。

五月 07, 2017 4:25:31 下午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
五月 07, 2017 4:25:31 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring FrameworkServlet 'HelloWeb'
五月 07, 2017 4:25:31 下午 org.springframework.web.servlet.DispatcherServlet initServletBean
信息: FrameworkServlet 'HelloWeb': initialization started
五月 07, 2017 4:25:32 下午 org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
信息: Refreshing WebApplicationContext for namespace 'HelloWeb-servlet': startup date [Sun May 07 16:25:32 CST 2017]; root of context hierarchy
五月 07, 2017 4:25:32 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [HelloWeb-servlet.xml]
五月 07, 2017 4:25:32 下午 org.springframework.web.servlet.DispatcherServlet initServletBean
信息: FrameworkServlet 'HelloWeb': initialization completed in 748 ms
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
五月 07, 2017 4:25:37 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-nio-8080"]
五月 07, 2017 4:25:37 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-nio-8009"]
五月 07, 2017 4:25:37 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 16328 ms
五月 07, 2017 4:25:53 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring FrameworkServlet 'HelloWeb'
五月 07, 2017 4:25:53 下午 org.springframework.web.servlet.DispatcherServlet initServletBean
信息: FrameworkServlet 'HelloWeb': initialization started
五月 07, 2017 4:25:53 下午 org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh
信息: Refreshing WebApplicationContext for namespace 'HelloWeb-servlet': startup date [Sun May 07 16:25:53 CST 2017]; root of context hierarchy
五月 07, 2017 4:25:53 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from ServletContext resource [/WEB-INF/HelloWeb-servlet.xml]
五月 07, 2017 4:25:53 下午 org.springframework.web.servlet.DispatcherServlet initServletBean
严重: Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/HelloWeb-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/HelloWeb-servlet.xml]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:612)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:513)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:817)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/HelloWeb-servlet.xml]
at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:141)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)
... 36 more
还是 [servletname]-servlet.xml 找不到!!!!!

是不是[servletname]-servlet.xml  需要和 web.xml同一级放在WEB-INF文件夹下面呢????

可以的!!!终于证明了[servletname]-servlet.xml 使用默认条件下必须将其和web.xml放在同一目录下!

那么此条件下是不是可以不配置首页面呢???

还是不行呀!!!!  默认首页看样子是必须要添加的!!!

J2EE搭建Dynamic web SpringMVC工程404错误分析(三)相关推荐

  1. J2EE搭建Dynamic web SpringMVC工程404错误分析(二)

    不添加空的Test文件,那么报错,是不是因为在web.xml中制定了文件访问的默认首页: <welcome-file-list><welcome-file>Test</w ...

  2. J2EE搭建Dynamic web SpringMVC工程404错误分析(一)

    目录结构如下: 自己写的web.xml <web-app id="WebApp_ID" version="2.4" xmlns="http:// ...

  3. Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境

    Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...

  4. Spring+SpringMVC+MyBatis深入学习及搭建(十四)——SpringMVC和MyBatis整合

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7010363.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十三)--S ...

  5. 初学Java Web(2)——搭建Java Web开发环境

    虽然说 html 和 css 等前端技术,是对于 Web 来说不可或缺的技术,但是毕竟更为简单一些,所以就不详细介绍了,没有基础的同学可以去菜鸟教程或者W3school进行自主学习,最好的方式还是做一 ...

  6. java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype

    以Eclipse为核心搭建JAVA WEB开发环境(三)-模板项目Archetype 本篇介绍创建archetype,用于创建WEB项目的模板. 1.创建一个Dynamic Web Project. ...

  7. java web modules_使用Java web工程建立Maven Web Module工程

    1. 前言 之前有一篇关于搭建S2SH的文章中提到建立Maven Web Module工程,有人反馈说这个方面不会.那还是唠叨一下,写篇文章说明一下吧. 建立Maven Web Module的方式有多 ...

  8. 解决Cannot change version of project facet Dynamic Web M

    dynamic web module 版本之间的区别: Servlet 3.0 December 2009 JavaEE 6, JavaSE 6 Pluggability, Ease of devel ...

  9. 【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

    [Spring Boot]使用Spring Boot来搭建Java web项目以及开发过程 一.Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来 ...

最新文章

  1. java interface list_你了解注解内的@interface List么
  2. Oracle 12c 简单的jdbc使用
  3. App项目内存优化计划
  4. 高并发编程-自定义简易的线程池(2),体会原理
  5. 自定义log4j2配置文件地址
  6. 10 Lessons Learned Doing ICOs
  7. 圆周移位是怎么移的_想烟道移位,师傅却连连摆手:小区烟道都是统一的,咋能随便改...
  8. HoughLine变换
  9. vue项目实践教程2:使用vux设计登录注册,并讲解vue路由,切换页面标题等内容
  10. 华为MatePad 11开启预售:鸿蒙OS加持 2499元起!
  11. mysql中dml语言_八、mysql DML语言
  12. 工具类与工具函数 —— fatal.h
  13. java判断句号是否对称_java 判断空格的规范度 将操作符两侧、标点符号两侧不规范的空格找出来...
  14. [转载] Python-科赫雪花(科克曲线)
  15. 反序列化时出现“base-64 字符数组的无效长度”错误提示的解决
  16. my ReadBook_4juan / zikao / zixuekaoshi
  17. Linux Centos7 测试硬盘IO速度
  18. 数字高程模型|DEM采集的主要方式
  19. 显示器偏色测试软件,显示器显示偏色
  20. forge不能用java打开_我玩我的世界把java更新了以后,就再也进不了加了forge的版本了,启动器,游戏,forge都重...

热门文章

  1. nuSVC的使用和解读
  2. 计算机系统基础:数字的机器表示
  3. OpenCV学习笔记七-创建滑动条
  4. 深度学习(六)——CNN进化史
  5. 大杂烩, 硬盘安装Linux
  6. springboot入门(项目)
  7. lamp架构-访问控制-禁止php解析、屏蔽curl命令访问
  8. 必须学会使用的35个Jquery小技巧
  9. java中的字符串相关知识整理
  10. 图解Android - Android GUI 系统 (2) - 窗口管理 (View, Canvas, Window Manager)