相关疑难解决方法(0)

在Java Web应用程序中从应用程序服务器外部提供静态数据的最简单方法

我有一个在Tomcat上运行的Java Web应用程序.我想加载静态图像,这些图像将在Web UI和应用程序生成的PDF文件中显示.此外,还将通过Web UI上传添加和保存新图像.

通过将静态数据存储在Web容器中但从Web容器外部存储和加载它们来解决这个问题并不是一个问题.

我不想在此时使用像Apache这样的单独的Web服务器来提供静态数据.我也不喜欢将图像以二进制形式存储在数据库中.

我已经看到一些建议,比如将图像目录作为指向Web容器外部目录的符号链接,但这种方法是否适用于Windows和*nix环境?

有人建议编写一个过滤器或servlet来处理图像服务,但这些建议非常模糊和高级别,没有指向如何实现这一目标的更详细信息.

tomcat servlets static-content java-ee

129
推荐指数
5
解决办法
14万
查看次数

建议在servlet应用程序中保存上载文件的方法

在这里读到,无论如何都不应该将文件保存在服务器中,因为它不是可移植的,事务性的并且需要外部参数.但是,鉴于我需要一个针对tomcat(7)的tmp解决方案,并且我对服务器机器有(相对)控制,我想知道:

  • 保存文件的最佳位置是什么?我应该保存/WEB-INF/uploads(建议不要在这里)或某个地方$CATALINA_BASE(见这里)或......?JavaEE 6教程从用户获取路径(:wtf :).注意:该文件不应以任何方式下载.

  • 我应该建立一个配置参数详见这里?我很欣赏一些代码(我宁愿给它一个相对路径 - 所以它至少是Tomcat可移植的) - Part.write()看起来很有希望 - 但显然需要一个绝对的路径

  • 我对这种方法与数据库/ JCR存储库的缺点的阐述感兴趣

不幸的是 ,@ BalusC 的FileServlet专注于下载文件,而他在上传文件时的答案会跳过保存文件的位置.

容易转换为使用DB或JCR实现(如长耳兔)的解决方案将是优选的.

tomcat servlets file-upload servlet-3.0

117
推荐指数
2
解决办法
13万
查看次数

如何在File类中提供相对路径来上传任何文件?

我正在上传一个文件,我想提供一个相对路径,因为该程序应该在linux和windows环境下工作.

这就是我用来上传的内容

realPath = getServletContext().getRealPath(/files);
destinationDir = new File(realPath);
if(!item.isFormField())
                {
                    File file = new File(destinationDir,item.getName());

                    item.write(file);
}
Run Code Online (Sandbox Code Playgroud)

在这里直接提供相对路径的任何其他方法

File file = new File(destinationDir,item.getName());
Run Code Online (Sandbox Code Playgroud)

java servlets file-upload

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

Java:如何在webapp中写入文件夹?

我在Tomcat中部署了我的webapp,但是当我在文件名前加上\我最终在我的服务器(C)文件夹的根目录中,并且如果我不在它前面添加\我最终在bin文件夹中.前者我预料到,后者我没有.在我的webapp(userControlWebApp\images)中写入文件夹的最简洁方法是什么,因为只是做..\webapps\+ request.getContextPath()似乎不是最干净的方式.

java tomcat servlets web-applications

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