zoukankan      html  css  js  c++  java
  • Java2E中的路径问题

    本节主要介绍:

    1、request.getContextPath()-----项目的发布的根路径

    2、request.getRealPath('t')----t目录在当前磁盘中的物理位置,包括盘符,文件夹等,但已经过时,不推荐使用

          request.getServletContext().getRealPath('t')----t目录在当前磁盘中的物理位置,包括盘符,文件夹等,代替上面的那个方法

          

          t为虚拟路径,K:apache-tomcat-8.0.37-windows-x64apache-tomcat-8.0.37wtpwebappsmystudy 为映射出来的实际路径

          

          这两个方法根据结果来看其实都是有问题的,比如,在项目中不存在某个文件例如a.txt,但在括号中赋值a.txt后,仍然会返回路径字符串,因此这两种方法都存在着某些问题。

          

          

          在看了很多大神的文章后,了解到了ServletContext.getRealPath其实是有陷阱的!使用ServletContext.getRealPath获取路径时,必须以“/”开头,否则找不到资源,在完成web项目应用在打包成.war(web archieve)文件再发布到服务器上时,在服务器上访问,ServletContext.getRealPath会失效,因此,在有关于.war包进行发布的时候,推荐另一种方式,为ServletContext.getResourceAsStream()方法。

          

          相关文章推荐:http://blog.163.com/h_h.vip/blog/static/511972082008112103228841/

          在做项目中常用到的路径:

          项目发布的绝对路径:basepath------request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/"

          项目发布的相对路径:path----request.getContextPath()

          

    3、request.getScheme()-----返回当前连接使用的协议,一般为http

    4、request.getServerName()----获取当前项目所在的服务器的名称,本地的为127.0.0.1,一般为ip地址

    5、request.getServerPort()---获取当前使用的服务器所占用的端口

    6、request.getServletContext()-----servlet上下文是servlet引擎提供用来服务web应用的接口。这个接口下面有很多方法,例如getRealPath就是servletContext接口提供的方法

    7、request.getServletPath()-----获取servlet的映射地址,例如@requestMapping("/stutent/addStudent");中的路径;在servlet中为@WebServlet("/student/addStudent");

    8、getServletConfig()-----获取当前web应用在web.xml中配置的servlet的初始化信息的封装而成的对象

    补充:

           在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。  

           当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

           相关文章推荐:http://www.cnblogs.com/smyhvae/p/4140877.html

    9、getServletContext()------获取代表当前web应用的ServletContext对象(我们都知道application和ServletContext是相同的)

    10、getServletInfo()-----获取有关servlet的信息,如作者、版本、版权。

    11、getServletName()----获取servlet的全称,如com.cnbolgs.servletName

    12、request.getContentType()----获取客户端给服务器发送数据的格式

                  如有什么意见或更正,希望在下方讨论区留言,期待与您一同分享并学习进步,谢谢!

  • 相关阅读:
    OpenCascade Ray Tracing Rendering
    Create New Commands in Tcl
    OpenCascade Modeling Algorithms Fillets and Chamfers
    OpenCascade Modeling Algorithms Boolean Operations
    Construction of Primitives in Open Cascade
    Open Cascade Data Exchange STL
    Tcl Tk Introduction
    Open Cascade DataExchange IGES
    Netgen mesh library : nglib
    Hello Netgen
  • 原文地址:https://www.cnblogs.com/zhiyonglu/p/7812121.html
Copyright © 2011-2022 走看看