getServletContext()和getServletConfig()及JAVA当前路径解决

getServletConfig()

在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和ServletContext对象,前者通常由容器在文件中指定,允许在运行时向sevrlet传递有关调度信息,比如说 getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。此方法可以让servlet在任何时候获得该对象及配置信息。

getServletContext()

一个servlet可以使用getServletContext()方法得到web应用的servletContext
即而使用getServletContext的一些方法来获得一些值
比如说 getServletContext().getRealPath("/")来获得系统绝对路径
getServletContext().getResource("WEB-INF/config.xml")来获得xml文件的内容
Java的當前路徑解決辦法
1========================================================
Thread.currentThread().getContextClassLoader().getResource(fileName)

fileName like package path: com/xxx/xxx/aa.txt

Is that OK?
2========================================================
Application 可以這樣,web的服務端程式不能這樣
curDir = System.getProperty("user.dir");
fileBar= System.getProperty("file.separator");
则上例中的数据目录,可表示为 curDir+fileBar+"DataBase"
3========================================================

JSP PATH:

<%

String curDir = System.getProperty("user.dir")+System.getProperty("file.separator");
out.println(curDir+"</br>");

curDir=application.getRealPath(request.getRequestURI());
out.println("GetRealPath:"+curDir+"</br>");

curDir=application.getRealPath("/");
out.println("RootPath:"+curDir+"</br>");

curDir=(new File(application.getRealPath(request.getRequestURI()))).getParent();
out.println("ParentPath:"+curDir+"</br>");
%>

4======================================================

Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath
(request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
(ServletContext对象获得几种方式:
Javax.servlet.http.HttpSession.getServletContext()
Javax.servlet.jsp.PageContext.getServletContext()
Javax.servlet.ServletConfig.getServletContext()
)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值