想用jsp来调用windows下的一个bat文件,并开启另一个线程,来运行该文件。我知道可以用Runtime.getRuntime().exec(); 来执行命令,但现在问题是该bat执行较长的一个处理,在jsp上执行会出现session过期。所以想到的做法是在jsp上做个button,点击触发执行命令,并放到后台去跑,直到跑完。不知道这样能否实现?

解决方案 »

  1.   

    可以啊,用HttpClient吧,直接在后台去请求另一个页面而当前页面不受影响.
      

  2.   

    可以参考http://blog.csdn.net/herowach/archive/2008/07/26/2714396.aspx,里面有请求示例
      

  3.   

    楼上说的估计不行,HTTPCLIENT去请求另一个页面来执行,同样面临Session超时问题(基于安全问题,我的所有JSP页面都在IBM Webseal保护下)
    感觉可解的办法是另起一个线程来执行BAT命令,但不知道在JSP中是否可行。
      

  4.   

    开个线程来跑Runtime.getRuntime().exec(); 就行了
      

  5.   

    SESSION超时与后台运行任务有什么关系?如果真要运行那么长时间,那超时就超时好了,你那个页面不做SESSION判断就完了吧,
    难道Webseal回SESSION超时后自动销毁JSP实例???
      

  6.   

    谁有jsp下调用线程,并放在后台执行的例子么?
      

  7.   

    对java还不是很了解,但是既然需要和另一个程序进行交互,是否可以使用如下的策略:
    1.你要调用的应用程序,一直开着,并每隔一段时间,从任务文件中查看任务
    2.若有未执行任务,则按次序一次执行,重复1过程这样的话,web程序的任务就简单了,只要向命令文件中写入数据就行了