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

急!!100分问高手个问题!在线等!
我tomcat下虚拟目录是这样配置的:
<Context     docBase= "D:/Data "     path= "/Data "   reloadable= "true ">
</Context>
Data下放的是数据文件,Data/aaa,Data/bbb,....
docBase由用户自己设置的,用户比如把数据放在E:/Test目录下,要改成:docBase= "E:/Test "
1)我jsp页面这样写:
String   m   =   "/Data ";//这句话的 "/Data "的路经是什么路经??是相对于谁的路       经?     还是虚拟目录的路经?

2)我要判断用户docBase里设置的路经存在不存在,怎样判断?因为docBase里的设置都会变的,用户可能把数据放在不同的目录下,如D:/Test,E:/AA..
如果docBase= "E:/Test ",E:/Test有文件夹BB,那我访问E:/Test/BB得相对路经该如何写?我要取docBase得!


------解决方案--------------------
String m = "/Data ";//这个是你页面所在目录下的data文件夹下
取出目录中文件的方法

<%@ page contentType= "text/html;charset=gb2312 "%>
<%@ page import= "java.io.* "%>
<html>
<head>
<title> 取出目录中文件的方法--列出目录中的文件 </title>
</head>
<body>
<%
String path=request.getRealPath( "/ ");
File d=new File(path);//建立当前目录中文件的File对象
File list[]=d.listFiles();//取得代表目录中所有文件的File对象数组
out.println( " <font color=#ff0000> " + path + "目录下的文件: </font> <br> ");
for(int i=0;i <list.length;i++){ //这里如果不成立,那么就是没有文件
if(list <I> .isFile()){
out.println(list <I> .getName() + " <br> ");
}
}
out.println( " <br> <font color=#ff0000> " + path + "目录下的目录: </font> <br> ");
for(int i=0;i <list.length;i++){
if(list <I> .isDirectory()){
out.println(list <I> .getName() + " <br> ");
}
}
%>
</body>
</html>

for(int i=0;i <list.length;i++){ //这里如果不成立,那么就是没有文件


那我访问E:/Test/BB得相对路经该如何写
================
这个要看你当前的页面是不是在E:/Test/下那么相对路径就是/bb啊,
------解决方案--------------------
这个路径得从配置文件里取