【问题标题】:What would be the simplest way to deal with a text file using JSP?使用 JSP 处理文本文件的最简单方法是什么?
【发布时间】:2010-09-23 06:57:49
【问题描述】:

在 *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。如果所有这些都有意义,请告诉我,并根据需要随时提出尽可能多的问题。

提前非常感谢!

【问题讨论】:

    标签: java unix jsp shell ksh


    【解决方案1】:

    您可能在此处遇到安全问题。考虑您有什么风险并采取适当的步骤来验证用户并确保他们被授权执行此操作。为此所需的步骤在某种程度上取决于您使用的 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 作业可以检查(空)文件是否存在,并采取相应措施。

    【讨论】:

    • 非常感谢您的回复!这真的很翔实。您介意详细说明一下如何将表单变量传递给此类代码,以便我可以使用 HTML 表单控件触发该代码吗?
    【解决方案2】:
    猜你喜欢
    • 2014-05-16
    • 2010-11-03
    • 2014-01-28
    • 2021-04-13
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2013-01-12
    相关资源
    最近更新 更多