to robber:
我把命令换成/bin/ls >./bbb.txt,可还是不行.

解决方案 »

  1.   

    /bin/ls >> ./bbb.txt呢?
      

  2.   

    to robber:
    还是不行. 
      

  3.   

    把servlet运行当前路径找出来或者把aaa.txt完整路径名敲进去。用什么用户安装、启动application server?
    BTW,你的servlet是singlethreadmodle吗?:)
      

  4.   

    我把aaa.txt完整路径名敲进去,但是没用.
    我是用oracle用户安装启动的TOMCAT,但oracle拥有安装目录的写权限,
    我不知道我的SERVLET是不是singlethreadmodle,
    BTW,什么是singlethreadmodle?
      

  5.   

    欢迎到“软件开发者”——“Visual C++”——“严肃讨论...”参加讨论 
      

  6.   

    做个shellscript呢?--
    public class Servlet1 extends HttpServlet implements SingleThreadModel {  ...
    }
      

  7.   

    我用了SingleThreadModel也没用.
    在其它的WEB开发语言PHP,ASP,CGI执行外部命令都很容易,为何SERVLET看上去这么难
    不会没有人在SERVLET中执行过外部命令吧?!
     
      

  8.   

    我的分析,不一定对。
    你的webserver不允许通过http写文件。而你的servlet继承webserver的权限,因此你没有权限写文件。
    如果是这个原因,那你就修改webserver的配置,给予写的权限。
    ============我是猜的,错了别怪我===============
      

  9.   

    我觉得你的问题很可能是文件和目录的权限的问题。我以前遇到过类似的情况,调试好半天,才发现,servlet 对那个目录没有写权限的。你的 servlet engine 里肯定设了administrator 用户的吧,注意你要写的 bbb.txt 文件及其所在目录对那个administrator 来说有写权限。
    Servlet 不难的。
      

  10.   

    我想有可能不是權限得問題,我用root啟動TOMCAT然後執行SERVLET還是不成功
      

  11.   

    哦,有 log 文件么?报什么错呢?是不是执行之后bbb.txt 根本就不存在或者是为空?root 是可启动 TOMCAT, 但不代表 TOMCAT 的 admin 就是 root 啊。有一个配置文件里有该设置的,我记得 Apache+Jserv 中的配置文件是 httpd.conf 和 JServ.conf 来着?记不太清了。
      

  12.   

    有 log 文件,不過看不出什麼,裡面沒報錯
    执行之后bbb.txt 根本就不存在,
    我去琢磨琢磨配置
      

  13.   

    你试试将你所要写入 bbb.txt 的目录属性设为 777 怎么样?比如用 /tmp目录,chmod 777 /tmp, 然后 Runtime 调用 ls -l >/tmp/bbb.txt。权限和属性设置好了应该没问题的。我曾经在一个 Servlet 中调 Runtime 用来写 crontab 都没问题啊。