java - 使用 JSP 处理文本文件的最简单方法是什么?

标签 java unix jsp shell ksh

*NIX 框中有一个实际运行的 Java ServerPages (JSP) 应用程序,我对它进行了某种良好的权限管理。这个想法是创建一个新的但非常简单的 JSP 页面来控制我在那里运行的一些 Korn Shell 脚本。因此,我们的目标是制作某种 HTML 表单,该表单将写入某种 scriptStatus.on/scriptStatus.off 文件:

#!usr/bin/ksh
# coolScript.sh
# This is my cool script that is being launched by cron every 10 minutes.

if [ -e scriptStatus.off ]
  then 
      # monitor disabled
  else
      # monitor enabled
fi

然后可以检查正在运行的脚本中是否存在,因此可以轻松激活/停用它,而无需实际处理 cron。如果这一切有意义,请告诉我,并根据需要随时提出尽可能多的问题。

提前非常感谢!

最佳答案

您可能会遇到安全问题。考虑您面临的风险,并采取适当的步骤对用户进行身份验证并确保他们有权执行此操作。为此所需的步骤在某种程度上取决于您所使用的 servlet 容器。

您不需要像 Apache Commons IO 这样的库来完成如此简单的任务。 File.createNewFileFile.delete如果您不担心两个不同用户之间的竞争条件,则可以使用。

File flag = new File("/path/scriptStatus.off");
String message;
if (flag.delete())
  message = "Script enabled.";
else if (flag.createNewFile()) 
  message = "Script disabled.";
else
  /* Maybe missing directory, wrong permissions, race condition. */
  message = "Error: script state unknown.";

cron 作业可以检查(空)文件是否存在,并采取相应措施。

关于java - 使用 JSP 处理文本文件的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306012/

相关文章:

java - 为什么我的 servlet session 不持久?

子进程可以在 C、Unix 中执行 waitpid() 和 wait()

jsp - 使用 JSP 的 Tomcat LDAP 身份验证

c - 如果 close(2) 因 EIO 而失败,文件描述符是否仍会被删除?

java - 如何将JSP表单数据添加到JSON对象中并将其存储到数据库中?

Java:JSP 在页面的其余部分停止执行

Java - 将数字与字符串分开

java - 从几个条件中选择 jpa

java - Spring Data MongoDB - 注释@CreatedDate 在与自定义 Id 字段一起使用时不起作用

c - 线程中的时间间隔