tomcat上可以运行,但weblogic上不行,这是怎么回事?

speedingman 2004-11-29 03:02:37
我用jspsmartupload做了一个下载的页面,
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.setContentDisposition(null);
su.downloadFile("others/handbook.chm");
在tomcat下面可以找到handbook.chm这个文件,但是在weblogic上,却提示
others/handbook.chm: No such file or directory
有谁知道在这方面weblogic跟tomcat上有什么不同嘛?
...全文
155 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alan 2004-11-29
  • 打赏
  • 举报
回复
通过JSP对象application的getRealPath()得到的路径与应用服务器无关。
Alan 2004-11-29
  • 打赏
  • 举报
回复
上传目录不要部署在war里,可以指定拥有文件访问权限的任意位置(这个权限对unix下是很重要的)。
怎样得到物理路径你看看下面代码:
String path=MYCONST.ATTACHMENT_DIR+"/"+LoginSession.getUserId();//建立某用户的上传目录
java.io.File iFile = new java.io.File(application.getRealPath(path));
if(!iFile.exists()) iFile.mkdir();
其中MYCONST.ATTACHMENT_DIR定义如下:
public static final String ATTACHMENT_DIR = "upload/uploadfile";
//注意application对象会将这个相对路径映射为"$your_webapp$/upload/uploadfile"
speedingman 2004-11-29
  • 打赏
  • 举报
回复
我现在handbook.chm是放在test.war下面的others下面,而test.war是放在
/root/bea/user_projects/domains/mydomain/applications下面
我应该怎么写这个相对路径呢?(或者绝对路径)
ps:我用的是weblogic 8.1
speedingman 2004-11-29
  • 打赏
  • 举报
回复
请问poppop(光盘) :如何得到真实物理路径呢?
Alan 2004-11-29
  • 打赏
  • 举报
回复
others/handbook.chm是相对路径的写法,但是请注意你在这里是将路径作为一个字符串传到bean中,对于不同的应用服务器编译servlet后对应的物理路径是不同的。
对tomcat来说默认指的$webapp$/others/handbook.chm
对weblogic来说默认指的$domain$/others/handbook.chm
不知你用的weblogic什么版本,各版本如下:
weblogic6.X->$bea$/wlserver6.X/others/handbook.chm
weblogic7.X->$bea$/user_projects/$your_domain$/others/handbook.chm
weblogic8.X->$bea$/user_projects/domains/$your_domain$/others/handbook.chm

正常的上传方法:应使用JSP的application对象得到该相对路径的真实物理路径再上传或下载。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧