在我的Web应用程序中,我必须向一组预定义用户发送电子邮件finance@xyz.com,因此我希望将其添加到.properties文件中并在需要时访问它.这是一个正确的程序,如果是这样,那么我应该在哪里放置这个文件?我正在使用Netbeans IDE,它有两个单独的文件夹用于源文件和JSP文件.
我试图在webapp中加载一个文件,FileNotFound当我使用时我得到了一个例外FileInputStream.但是,使用相同的路径,我能够在我这样做时加载文件getResourceAsStream().这两种方法之间有什么区别,为什么一种方法有效而另一方方法无效?
我在这里读到,无论如何都不应该将文件保存在服务器中,因为它不是可移植的,事务性的并且需要外部参数.但是,鉴于我需要一个针对tomcat(7)的tmp解决方案,并且我对服务器机器有(相对)控制,我想知道:
保存文件的最佳位置是什么?我应该保存/WEB-INF/uploads(建议不要在这里)或某个地方$CATALINA_BASE(见这里)或......?JavaEE 6教程从用户获取路径(:wtf :).注意:该文件不应以任何方式下载.
我应该建立一个配置参数详见这里?我很欣赏一些代码(我宁愿给它一个相对路径 - 所以它至少是Tomcat可移植的) - Part.write()看起来很有希望 - 但显然需要一个绝对的路径
我对这种方法与数据库/ JCR存储库的缺点的阐述感兴趣
不幸的是 ,@ BalusC 的FileServlet专注于下载文件,而他在上传文件时的答案会跳过保存文件的位置.
容易转换为使用DB或JCR实现(如长耳兔)的解决方案将是优选的.
我想将上传的图像保存到Tomcat上部署的Spring 3 MVC应用程序中的特定文件夹中
我的问题是我无法将上传的图像文件保存到运行applciation的主机.
这是我尝试过的:
private void saveFile(MultipartFile multipartFile, int id) throws Exception {
String destination = "/images/" + id + "/" + multipartFile.getOriginalFilename();
File file = new File(destination);
multipartFile.transferTo(file);
}
Run Code Online (Sandbox Code Playgroud)
结果:FileNotFoundException - 是的,我确实想要创建这个文件!?!
我尝试使用context.getRealPath或getResources("destination"),但没有任何成功.
如何使用我的多部分文件的内容在我的应用程序的特定文件夹中创建新文件?
getRealPath()返回本地系统中的实际路径,但在与.war文件一起部署时返回null .
<%@ page import="java.io.*" %>
<%@ page contentType="text/html;charset=ISO-8859-1" %>
<%
int iLf = 10;
char cLf = (char)iLf;
String a= application.getResource("/");
//String myfile = application.getRealPath("/")+ "generate.xml";
//String myfile = request.getContextPath()+"generate.xml";
//String myfile = request.getRealPath("/")+"generate.xml";
out.println(myfile);
File outputFile = new File(myfile);
outputFile.createNewFile();
FileWriter outfile = new FileWriter(outputFile);
outfile.write(" <?xml version='1.0' encoding='UTF-8'?> "+cLf);
outfile.write(" <playlist version='1' xmlns = 'http://xspf.org/ns/0/' > " +cLf);
outfile.write(" <title>My Band Rocks Your Socks</title> "+cLf);
outfile.write("<trackList>"+cLf);
%>
<%! String[] sports; %>
<%
sports = …Run Code Online (Sandbox Code Playgroud) 我编写了一个Java servlet,我想在不同服务器上的许多Tomcat实例上安装它.servlet使用一些静态文件,这些文件在WEB-INF下用war文件打包.这是典型安装中的目录结构:
- tomcat
-- webapps
--- myapp
---- index.html
---- WEB-INF
----- web.xml
----- classes
------ src
------- .....
----- MY_STATIC_FOLDER
------ file1
------ file2
------ file3
Run Code Online (Sandbox Code Playgroud)
我如何知道MY_STATIC_FOLDER的绝对路径,以便我可以读取静态文件?
我不能依赖"当前文件夹"(我在新文件(".")中得到的)因为它取决于Tomcat服务器的启动位置,这在每个安装中都是不同的!
resources servlets relative-path working-directory absolute-path
我正在尝试生成一个XML文件并将其保存/WEB-INF/pages/.
下面是我使用相对路径的代码:
File folder = new File("src/main/webapp/WEB-INF/pages/");
StreamResult result = new StreamResult(new File(folder, fileName));
Run Code Online (Sandbox Code Playgroud)
在本地计算机上作为应用程序运行时,它工作正常 (C:\Users\userName\Desktop\Source\MyProject\src\main\webapp\WEB-INF\pages\myFile.xml).
但是当在服务器机器上部署和运行时,它会引发以下异常:
javax.xml.transform.TransformerException:java.io.FileNotFoundException C:\ project\eclipse-jee-luna-R-win32-x86_64\eclipse\src\main\webapp\WEB INF\pages\myFile.xml
我也尝试getServletContext().getRealPath()了,但它正在null我的服务器上返回.有人可以帮忙吗?
需要在动态Web应用程序内的java类文件中获取绝对路径...
实际上我需要获得apache webapps文件夹的路径...部署webapps的位置
例如/apache-root/webapps/my-deployed-app/WebContent/images/imagetosave.jpg
需要在java类文件中获取它,而不是在jsp页面或任何视图页面上...
有任何想法吗?
我有以下代码行:
servletContext.getRealPath("resources/images/video_icon.png")
Run Code Online (Sandbox Code Playgroud)
我使用jetty(使用maven插件)运行应用程序这段代码行返回corect值.
当我使用tomcat 8运行应用程序时(在tomcat 7上它可以工作) - 应用程序返回null.
申请结构:
1.怎么解决?
为什么会这样?
我从后台bean访问外部文件时遇到问题.我想做的是使用ttf文件,以便通过iText库使用该字体.当我通过Netbeans 7.2运行我的应用程序时,下面的代码工作正常:
private static String fontPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("arialuni.ttf");
Run Code Online (Sandbox Code Playgroud)
但是当我通过Oracle Weblogic 11g控制台手动部署我的ear文件时,找不到ttf文件,我得到NullPointerException.
我已经尝试了几种方法让它工作但没有机会.如果有人可以帮助我,我会非常感激.
问候