zoukankan      html  css  js  c++  java
  • web工程目录结构的解析

    --------------------------------------------------------------前提知识--------------------------------------------

    web中/如果被浏览器解析,得到的地址是http://ip:port/              

    <a href="/">test</a>

    如果被服务器解析,得到的地址是:http://ip:port/工程路径

    1.<url-pattern>/servlet1</url-pattern>
    2.<servletContext.getRealPath(""/);
    3.request.getRequestDispatcher("/");

    但是存在特殊情况,就是服务器把斜杠转发给浏览器解析了

    response.sendRedirect("/"); //把斜杠发送给浏览器解析,得到http://ip:port/

    下面是以服务器为例子

    ---------------------------------------------------------------正文-------------------------------------------------------

    刚开始学javaweb的时候对于目录结构懵懵懂懂,今天重新复习,终于搞懂了,现在记录一下,感觉大家学的时候还是会迷糊

    /这个符号指的是项目工程地址,即:http://ip:port/工程名/

    通过context.getRealPath("/")方法(context是ServletContext对象)映射到的是硬盘中工程实际的地址

    打开实际地址就会知道,如下,是一个目录,也就是说/代表的就是下面这个目录,而这个目录和项目中什么结构是一样的呢

     没错就是web目录

     所以说:叙述如下-----------------------------------------------------------------------------------

    web项目的工程路径指的就是web这个文件夹路径

    也就是说web文件夹里面的WEB-INF和其他资源都是在   项目工程根路径/   下

    src并不在根路径下

    而src目录下的所有代码都会被编译成字节码放在硬盘上的WEB-INF的classes文件夹中

    但是在idea项目结构中看不出来而已,classes其实是在WEB-INF下,被展示在项目结构另一个目录中,即out下面的目录

    classes是和web.xml同级,存在于WEB-INF目录中。

    总结----------------------------------------------

    我们项目的/根路径,指的就是web目录下的路径

    根路径下有熟悉的WEB-INF和index.jsp

    src不在根路径下,src编译后的classes也不在根路径/下

    /在写代码的过程中代表的就是web目录,获取web目录下的各种资源文件

    但是为什么进行servlet访问的时候,servlet代码也不在web目录下啊,为什么 http://ip:port/工程名/servlet名 就能成功访问呢,这是因为web.xml中又配置了一个映射,映射到servlet了,所以访问成功了

  • 相关阅读:
    0、前端页面的请求路径
    5、Spring事务
    4、Spring整合MyBatis
    2.3、Spring多配置文件
    2.2、基于注解的DI注入
    Rest语法,传入多个参数
    JS中 `=+` 是什么?
    Node.js 爬虫爬取电影信息
    JavaScript监听页面可见性(焦点)同时改变title的三种方法
    CSS 清除浮动的方法
  • 原文地址:https://www.cnblogs.com/skyvalley/p/14055258.html
Copyright © 2011-2022 走看看