相关疑难解决方法(0)

如何在JSF应用程序中获取部署目录路径?

是否有可能从JSF应用程序中找到部署路径?

还有一个问题(如果前一个问题的答案是真的):在那里存储一些上传的文件是否合法?

java deployment jsf file-upload

4
推荐指数
1
解决办法
8563
查看次数

如何在java中获取当前目录?

我试图从java获取我的项目的当前目录.我使用以下代码行来获取路径详细信息.

类型1:

File directory = new File (".");
try {
    System.out.println ("Current directory's canonical path: " 
            + directory.getCanonicalPath()); 
    System.out.println ("Current directory's absolute  path: " 
                + directory.getAbsolutePath());
}catch(Exception e) {
    System.out.println("Exceptione is ="+e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

类型2:

String currentDir = System.getProperty("user.dir");
System.out.println("Current dir using System:" +currentDir);
Run Code Online (Sandbox Code Playgroud)

从主类执行上面的代码我得到项目目录.当我从服务器端执行时,得到"当前dir使用System:D:\ Apache Tomcat 6.0.16\bin".但我的项目位于D:\Apache Tomcat 6.0.16\wepapps\SampleStructs.

请给我任何建议,并帮助我解决这个问题.

java linux directory struts2 java-ee

4
推荐指数
1
解决办法
2万
查看次数

Java Servlet:删除临时文件

我正在开发一个Java Servlet,它创建一个临时文件以在会话中使用.在会话结束时(即用户"注销"),我需要删除临时文件,然后将用户重定向到初始("登录")页面.重定向工作正常,但临时文件保持不变.

我认为它与文件的路径有关,但我不确定是什么.我在会话启动时创建文件:

String path = request.getSession().getServletContext().getRealPath("/");
File file = File.createTempFile("getter", ".html", new File(path + "/tmp/"));
Run Code Online (Sandbox Code Playgroud)

然后,当关闭会话时,我做:

file.delete();
Run Code Online (Sandbox Code Playgroud)

我知道file.deleteOnExit(),但是...什么时候退出servlet?也许我很困惑,但我肯定会感激任何帮助!:)

先感谢您!

编辑

所以,这里有一些细节:

我正在使用servlet,暂时没有处理会话.我同意@Joop我需要实现会话,但暂时只是想做一些简单的测试.

所以,我的servlet讨厌GETPOST请求.我在POST请求中使用一个标志来调用一个内部函数,该函数将文件(在类中声明为private File file;)实例化为新的临时文件.在连续调用时,将填充并保存文件.在用户看到的页面中,我有一个引用servlet的锚(对于'this',即),传递一个标志作为参数,一个标志指示'注销'.然后我调用另一个内部函数来删除先前实例化的文件.

如果这是一个问题,我将实施经理并发布我的发现.

编辑2

我实现了一个HttpSessionListener,似乎一切正常.现在,在创建会话时,我在我之前声明的目录中实例化一个文件(注意它不是临时文件,我使用,File file = new File(path + "/tmp/" + req.getSession().getId() + ".html");因此文件的名称等于会话ID).然后我向会话添加一个属性,其值是文件的完整路径.我一如既往地继续填充我的文件,当用户选择注销时,我使会话无效.然后,在侦听器内部,我检索文件的路径,因此我可以获取指向它的指针:

String fname = ev.getSession().getAttribute("filename").toString();
File f = new File(fname);
f.delete();
Run Code Online (Sandbox Code Playgroud)

所以,现在我得到消息是积极的,我的意思是f.delete()返回true,并在此之后我做f.exists(),我得到false.所以应该没问题.但是,文件实际存在,即它们仍然存在于磁盘上.

我可以试试@ A4L提供的这个例子.我做错了什么......?

java tomcat servlets

3
推荐指数
1
解决办法
9944
查看次数

读取JSF应用程序中的资源文件

我需要在JSF应用程序中获取资源文件.

InputStream input = new FileInputStream("filename.xml");
Run Code Online (Sandbox Code Playgroud)

但是,系统找不到filename.xmlsample.xhtml网页位于同一文件夹中的文件.我怎么得到InputStream它?

resources jsf inputstream file

3
推荐指数
1
解决办法
2886
查看次数

我想通过使用请求方法 getRealPath() 在 java 中获取文件的真实路径,但现在它已被弃用,我想要一个替代方法

我想通过使用请求方法 getRealPath() 在 java 中获取文件的真实路径,但现在不推荐使用它我想要一个替代它我尝试获取 servletcontext 但它没有返回整个路径

在 jsp 页面中,当我使用 application.getRealPath("/") 时,它给出的整个路径为 D:/.....

但是在 java servlet 代码中,我没有让这个方法工作,所以我想要一个完美的 httprequest 方法,它将返回应用程序的整个路径。

如果可能的话,请给我一个完美的方法和例子

java servlets

2
推荐指数
1
解决办法
7907
查看次数

在JSF2.0中读取属性文件也可以在战争中工作

properties使用Glassfishv3 webserver(位于root directory我的Web应用程序中)读取JSF2.0中的文件,我使用下面的代码 -

    ServletContext ctx = (ServletContext) FacesContext
            .getCurrentInstance().getExternalContext().getContext();
    String deploymentDirectoryPath = ctx.getRealPath("/");
    Properties prop = new Properties();
    prop.load(new FileInputStream(deploymentDirectoryPath
            + File.separator + "portal-config.properties"));
Run Code Online (Sandbox Code Playgroud)

以下是门户网站的截图 -

在此输入图像描述

运行门户网站时,我收到FileNotFound错误,因为该文件不存在于glassfish域中.

有没有办法读取属性文件,它既适用于情境,也适用于开发阶段和战争文件?

primefaces jsf-2 glassfish-3

2
推荐指数
1
解决办法
8804
查看次数

查找JSF资源的路径

我正在JSF网站上工作,我需要一些帮助.我有一个XML文件,我试图通过支持bean读取,但我不知道如何找到它的路径.它位于我的资源文件夹(resources/movies.xml)中.我该怎么做呢?

java resources jsf java-server

1
推荐指数
1
解决办法
4940
查看次数