zoukankan      html  css  js  c++  java
  • IDEA对以war包发布的一点观察

    tagret文件夹里的classes文件夹,集结了 src-java-里的com文件夹 ,然后集结resources里的所有 。 tagert里的项目名字文件夹里 放的都是 webapp里的所有文件夹
    也就是凡是被标记为root文件夹的,到最后编译,都是生成在class文件夹里

    request.getSession().getServletContext() 获取的是Servlet容器对象,相当于tomcat容器了.
    
    getRealPath(“/”) 获取实际路径,“/”指代项目根目录,所以代码返回的是项目在容器中的实际发布运行的根路径。
    

    问题

    那请问老师Tomcat 怎么部署才能让上传的文件在maven 项目的webapp/img目录下呢?

    1. 先用可运行项目跑起来,是可以实现上传功能的
    2. session.getServletContext.getRealPath("") 拿到的是运行时环境,而在idea里部署的话,运行环境不会是源代码webapp/img目录呢
    3. maven项目里src目录下的java,webapp和resource目录都不会参与部署,如果是通过idea部署的话,部署的位置是/target/tmall_ssm目录下呢
    4. 从你的截图来看,你应该采用的是tomcat独立部署方式吧。 这就对了呀,独立部署,那么获取到的路径肯定是tomcat那里的目录嘛。 想想真实环境,开发是在windows上做的,部署是在linux上做的,那么获取到的img路径,难道不应该是在linux上吗? 对嘛

    额外发现

    所以,一切还是最终生成的是tagert文件夹里的 项目名.文件夹,因为里面既有.class(都生成在WEB-INF里,还有lib文件夹) 又有静态文件

        • 最后总结
  • 相关阅读:
    SOJ 2785_Binary Partitions
    Codeforces Round #328 (Div. 2)
    C++ fill 和memset
    SOJ 2749_The Fewest Coins
    Codeforces Round #327 (Div. 2)
    TYVJ P1013 找啊找啊找GF Label:动态规划
    TYVJ 1014 乘法游戏
    TYVJ 1011 NOIP 2008&&NOIP 2000 传纸条&&方格取数 Label:多线程dp
    错误集合
    TYVJ P1038/P1039 忠诚 标签:线段树
  • 原文地址:https://www.cnblogs.com/czy16/p/9597549.html
Copyright © 2011-2022 走看看