日期:2014-05-18  浏览次数:20632 次

用request怎么获得工程的目录
request的getRealPath(String   path)   方法已经不推荐了
现在还是有request,怎么获得跟这个方法相同的值??

------解决方案--------------------
下面给你提供四种解决方法:
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()
)

今天在做一个程序时:在一个新闻管理的页面里点击删除链接到一个servlet上,删除这条新闻,然后response.sendRiderect(request.getHeader( "REFERER "))返回到原来的页面上。
我发现这个方法还是不错的。整个文件的绝对路径都可以得到。当然也还有其他的方法。这里就不在一一举出。
------解决方案--------------------

好像jsp页面动态绑定有个方法,不知行不行
String root=request.getContextPath();
获取静态上下文路径,默认是在根目录下

刚学java三个月...答非所问请别见怪.