gpt4 book ai didi

java - 想要创建一个 servlet,它将发布的数据保存到基于 guid 文件名的文件中

转载 作者:行者123 更新时间:2023-11-28 22:34:36 25 4
gpt4 key购买 nike

所以我将我的 Java 应用程序推送到服务器,对此感到非常兴奋。

现在我想测试一些东西,如何将发布的数据保存到我的 servlet 到一个文件中,文件名应该是一个唯一的 guid。

到目前为止我有这个:

public class TestServlet extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, IOException {

}

protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, IOException {

PrintWriter printWriter = response.getWriter();

printWriter.print("hello, world from testservlet!");


}
}

假设 http 发布的数据(比如大约 50K)将发布到“有效负载”字段,我如何获取发布的文本并将其保存到文件中,文件名是一个 GUID。

java 是否有清理打开文件的结构,就像在 c# 中一样:

using(var file = new ....)
{
// write to file
}

关闭连接并清理内存等

还有,我需要给tomcat设置特殊权限才能保存这个文件吗?

我现在只是使用 ubuntu 11 和已安装的 tomcat6 进行默认设置(只是在 VPS 上玩)。

谢谢。

最佳答案

您可以通过用户请求读取“payload”,参见API doc对于 ServletRequest:

request.getParameter("payload");

您可以使用File 创建文件,参见AP doc :

File newFile = new File("fileName");
boolean isCreated = newfile.createNewFile();

可以按如下方式写入文件,

BufferedWriter out = new BufferedWriter(new FileWriter(newFile));
out.write(payLoad);
out.close();

对于 GUID,您会看到这个 Create a GUID in Java

对于清理,您不必在 Java 中担心,垃圾收集器 (What is the garbage collector in Java?) 会在引用超出范围时自动为您完成。

但是你应该关闭像out.close这样的资源,以便在你用完它的时候将它释放回系统。

Also, do I need to set special permissions for tomcat to save this file?

您不需要这样做,因为 tomcat 只是一个服务器,它与文件系统 (OS) 更相关。我在 Unix 上使用 Glassfish,我不需要做任何类似的事情来创建文件。

关于java - 想要创建一个 servlet,它将发布的数据保存到基于 guid 文件名的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7940408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com