首页 > 其他分享 >社区版idea 开发springmvc踩坑指南

社区版idea 开发springmvc踩坑指南

时间:2023-08-17 12:01:55浏览次数:43  
标签:指南 xml 配置文件 src springmvc idea web webapp servlet

说明:社区版的idea不支持spring和web,所以在开发时跟旗舰版有些许不同,不同于旗舰版在加载spring,web子模块时社区版需要手动加载tomcat下的所有lib项目以及pro下加载的所有的依赖项lib到libraries中。此外社区版idea在springmvc开发时由于不直接支持web项目所以需要在pro项目的src目录下新建一个webapp目录来支持。/webapp/WEB-INF

最近开始学习restfulAPI,做了一个springmvc简单项目开发,在对于servlet.xml配置文件的存放路径时出来一个问题,当把servlet.xml文件放在resources下时,再编译时直接报错找不到该配置文件。servlet.xml默认是放在/webapp/WEB-INF下。并且配置时需要注意以下几项:

社区版idea 开发springmvc踩坑指南_配置文件

编译输出路径不需要修改,默认是在src/out下

社区版idea 开发springmvc踩坑指南_配置文件_02

把resource和webapp两个目录设置为resource

社区版idea 开发springmvc踩坑指南_xml_03

模块编译输出路径需要修改为pro\target\classes

社区版idea 开发springmvc踩坑指南_配置文件_04

社区版idea 开发springmvc踩坑指南_xml_05

libraries中需要+添加tomcat中所有lib文件架包以及pro下libaraies中的所有外加载的依赖包

社区版idea 开发springmvc踩坑指南_加载_06

加载liabraies中的所有依赖

社区版idea 开发springmvc踩坑指南_加载_07

加载run configuration中deployment执行路径为pro/src/main/webapp

社区版idea 开发springmvc踩坑指南_配置文件_08

编译,build,clean,run最终的target下需要加载出这些文件才能成功运行。

社区版idea 开发springmvc踩坑指南_加载_09

将webapp,resource标记为resource的目的是因为resource下的文件在编译时会出现在target目录下。如果只需要这两个目录下的某某些文件加载出来,可以使用pom.xml设置resources.

 <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/webapp</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
      </resource>
    </resources>

servlet.xml文件存放的路径跟web.xml的声明有关系。

第一种情况:

当web.xml中DispatcherServlet配置声明中,没有明确DispatcherServlet前端控制器配置文件的位置时,则系统默认DispatcherServlet前端控制器配置文件放在WEB-INF文件夹下。并且没有指定该servlet配置文件的路径,那么系统将以默认名字mvc-dispatcher-servlet.xml在默认路径/WEB-INF下寻找它,位置不正确,名字不正确,都会报错。

第二种情况:

当web.xml中DispatcherServlet配置声明中,已经明确DispatcherServlet前端控制器配置文件的位置时,则必须将前端控制器的配置文件放在src下面,不能放在webcontent(webapp)下了,当然,在src的各级子文件夹中也是可以的。一般放在java resources下面,或者在resources下新建一个config的文件夹专门用来存放配置文件。

 <!--信息转发器,该servlet配置文件存放在/resources/config下,用于拦截请求(url-pattern为 / ,说明拦截所有请求),并交由Spring MVC的
    后台控制器来处理。这一项配置是必须的-->
    <servlet>
        <servlet-name>mvc-dispatcherhahaha</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:config/mvc-dispatcher-servlet.xml</param-value>
    </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvc-dispatcherhahaha</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
————————————————
版权声明:本文为CSDN博主「鱼哥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhijiannnn/article/details/80908609

明确了contextConfigLocation的地址为:classpath:(即在classes文件夹下面)。并且请注意,此处我估计将配置文件中的servlet类命名为mvc-dispatcherhahaha,就是为了与配置文件名称mvc-dispatcher-servlet.xml区分开来,因此可以看出,此处命名是任意的,只需再位置参数init-param中体现出来即可。

参考链接:https://www.cnblogs.com/niceyoo/p/14090782.html

https://blog.csdn.net/zhijiannnn/article/details/80908609

https://www.cnblogs.com/alice-cj/p/10424133.html

https://blog.csdn.net/hao1210119/article/details/128289544

标签:指南,xml,配置文件,src,springmvc,idea,web,webapp,servlet
From: https://blog.51cto.com/u_15345945/7120585

相关文章

  • 基于SpringMVC的订餐管理微平台
    订餐管理系统是为餐饮商家提供的在线订餐管理系统,本系统的研发设计能够增加餐饮商家的菜品宣传和推广,提升客流量和订单量,增加商家的营业收益。原有的订餐系统管理采用手工管理的方式,各种菜品宣传和订单接收都采用纸质宣传和电话接单处理,这种管理手段在短期的宣传结束之后,可以方便的......
  • IDEA 如何制作代码补丁?IDEA 生成 patch 和使用 patch
    什么是升级补丁?比如你本地修复的bug,需要把增量文件发给客户,很多场景下大家都需要手工整理修改的文件,并整理好目录,这个很麻烦。那有没有简单的技巧呢?看看IDEA生成patch和使用patch的使用。介绍下IDEA的patch工作中用到的补丁大致可以分为两种,一种是patch文件,即补......
  • 使用idea进行开发
    使用idea进行开发使用步骤创建一个新的工程​ 自己的jdk安装目录输入工程名,模块名实际创建的样子其他在工程下创建其他模块创建完成创建一个Java文件注意,这里的前面两个是包名,最后一个.后面实际是.demo01.java的意思建立包快捷键创......
  • 2023.3 Idea配置Tomcat环境
    tomcat配置下载tomcat先到官网(......
  • SkyEye操作指南:连接TI CCS的IDE调试
    现代电力电子控制系统的开发中,DSP芯片以其优越的运算性能在控制算法领域得到越来越广泛的应用。传统的DSP开发过程往往需要在完成控制系统仿真与程序设计后,才能根据比对结果进行程序修改,全过程还需要硬件电路工程师的配合,开发效率低下,灵活性差。为了快速验证控制算法,使仿真与开发......
  • springmvc 使用 DeferredResult
    背景:需求:可以实时获取啄木鸟伍迪的访问数据、排名、积分等数据,可以实时现在在网站后台页面的大屏上;解决方案:可以使用异步请求,springmvc默认的请求都是同步的,也就是请求过去,必须得有处理完成,否则就回阻塞;异步请求是当发起一个请求,可以暂时没有响应,请求回被挂起不阻塞;请求过去,就......
  • 使用idea进行开发
    使用idea进行开发使用步骤创建一个新的工程​ 自己的jdk安装目录输入工程名,模块名实际创建的样子其他在工程下创建其他模块创建完成创建一个Java文件注意,这里的前面两个是包名,最后一个.后面实际是.demo01.java的意思建立包快捷键创......
  • springmvc 开启异步请求报错 Java code using the Servlet API or by adding "true"
    报错内容:java.lang.IllegalStateException:Asyncsupportmustbeenabledonaservletandforallfiltersinvolvedinasyncrequestprocessing.ThisisdoneinJavacodeusingtheServletAPIorbyadding"true"toservletandfilterdeclarationsin......
  • idea实用插件
    mybatisX可以让mapper和mapper.xml来回切换Mavenhelper以查看maven依赖的插件,可以展示pom文件中的依赖(以列表或树的形式),可以使用此插件查看maven依赖是否有冲突。安装完成后打开pom底部会多一个dependencyanalyzer*RefreshUI刷新并获取依赖*Reimport重新加载并导......
  • IDEA快捷键
    从尚硅谷康师傅那里直接贴过来的!有需要的可以去那边看别的资料!第1组:通用型说明快捷键复制代码-copyctrl+c粘贴-pastectrl+v剪切-cutctrl+x撤销-undoctrl+z反撤销-redoctrl+shift+z保存-saveallctrl+......