用jsp 如何调用可执行文件???(50分)

  • 主题发起人 主题发起人 fallwind68
  • 开始时间 开始时间
F

fallwind68

Unregistered / Unconfirmed
GUEST, unregistred user!
大虾们,请教 : 用jsp 如何调用可执行文件(java)??,给兄弟一个源码例子吧!
就这些分了,以后再补吧。
 

try{
java.lang.Runtime.getRuntime().exec("可执行的文件");
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
就可以了
 
楼上的,我试过了,可有问题,等我查查原因
 
报什么错呀 你把错误的 贴出来看看
还有你的代码
 
调试通过
package mytestpro;
public class runexec {
private String getrun;
public runexec() {
}
public static void main(String[] args) {
runexec runexec1 = new runexec();
System.out.println(runexec1.getGetrun());
}
public String getGetrun() {
try{
// java.lang.Runtime.getRuntime().exec("notepad.exe");
java.lang.Runtime.getRuntime().exec("D://program//FlashPlayer6.exe");
return "执行成功";
}
catch (Exception e)
{
System.out.println(e.getMessage());
return "执行不成功";
}
}
}
 

try
{
java.lang.Runtime.getRuntime().exec("F://WINNT//system32//freecell.exe");
}
catch(Exception e)
{
System.out.println("++++++++++:"+e);
}
通过了,没任何问题的.
 
不好意思,有点意外事情,耽搁了这么久。是我没说清楚,各位大虾的指点我照做了,只是是在JSP源码中加入的代码,当然有问题了,在JAVA源码中加入,一点问题也没有。谢过!!
我是想用第一种方法:也就是用JSP编码,调用JAVA可执行文件,怎么写?
 
照样可以的啊。
我的jsp:
<html>
<head>
<title>
runexe
</title>
</head>
<jsp:useBean id="bean0" scope="session" class="mytestpro.runexec" />
<body bgcolor="#ffffff">
<h1>
JBuilder Generated JSP
</h1>
<%= bean0.getGetrun()%>
//这上面是通过bean实现。bean文件请看我的上个回复。
//下面是直接在jsp里实现。
<%
try {
java.lang.Runtime.getRuntime().exec("notepad.exe");
}
catch (Exception e) {
out.println(e.getMessage());
}
%>
</body>
</html>
 
jsp是后台﹐要在前台調用 要用Applet
 
如果在客户端调用就用applet
 
lnboy,
你的两种方法我都试了,还有问题,一定是我写的有问题,错误码如下:
----------- 方法1 ---
<%
try {
java.lang.Runtime.getRuntime().exec("E://WORK//JSP_test//java_exe_test.class");
}
catch (Exception e) {
out.println(e.getMessage());
}
%>
----错误代码-------------
CreateProcess: E:/WORK/JSP_test/java_exe_test.class error=193
-------- 方法2 ----
...
<jsp:useBean id="bean0" scope="session" class="mytestpro.runexec" />
...
------错误代码-----------
type Exception report
message Internal Server Error
description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.

An error occurred at line: 7 in the jsp file: /JSP_test/test_jsp_java_exe/JSP_java_exe_test1.jsp
Generated servlet error:
C:/Program Files/Apache Tomcat 4.0/work/localhost/WORK_e/JSP_test/test_jsp_java_exe/JSP_0005fjava_0005fexe_0005ftest1$jsp.java:60: Class mytestpro.runexec not found.
mytestpro.runexec bean0 = null;
^

An error occurred at line: 7 in the jsp file: /JSP_test/test_jsp_java_exe/JSP_java_exe_test1.jsp
Generated servlet error:
C:/Program Files/Apache Tomcat 4.0/work/localhost/WORK_e/JSP_test/test_jsp_java_exe/JSP_0005fjava_0005fexe_0005ftest1$jsp.java:63: Class mytestpro.runexec not found.
bean0= (mytestpro.runexec)
^

An error occurred at line: 7 in the jsp file: /JSP_test/test_jsp_java_exe/JSP_java_exe_test1.jsp
Generated servlet error:
C:/Program Files/Apache Tomcat 4.0/work/localhost/WORK_e/JSP_test/test_jsp_java_exe/JSP_0005fjava_0005fexe_0005ftest1$jsp.java:68: Class mytestpro.runexec not found.
bean0 = (mytestpro.runexec) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "mytestpro.runexec");
^
3 errors, 1 warning
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:284)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:546)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Thread.java:536)
 
:(
原来你是这样做啊,
彻底服了!!!!
class又不是可执行文件,怎么可能直接执行呢。
执行 class文件是通过 java.exe来启动的。
通过下面这样的命令来执行 :
java -classpath "G:/JBuilder9/jdk1.4/lib/tools.jar" runexec
 
羞羞羞!!!楼上的,损的对呀,我还在“门外”看呢,照虎画猫,菜得很呢!
还得问:上面那句是什么意思啊?是执行java的class文件吗?
有办法将.class 文件变成可执行文件吗?用什么编译器呀?
 
看ysun的笔记:
用 Java 程序启动另外一个 Java 程序
http://www.delphibbs.com/keylife/iblog_show.asp?xid=235
//有办法将.class 文件变成可执行文件吗?用什么编译器呀?
有办法,可以实现,但是个人建议现在不要去追求这些太过花巧,
而对你没有什么实际意义的东西(仅仅是能够满足一下暂时的好奇心)。
 
[:(!]楼上的,不好意思,还有点问题
E:/WORK/JSP_test>java E:/WORK/JSP_test/ "C:/j2sdk1.4.1_01/lib/tools.jar" runexec
Exception in thread "main" java.lang.NoClassDefFoundError: E:/WORK/JSP_test/

 
因为找不到classpath:
我的runexec.class在 D:/jb/mytestpro/classes/mytestpro下。
那么我的执行命令是:
G:/JBuilder9/jdk1.4/bin/java -classpath "D:/jb/mytestpro/classes;G:/JBuilder9/jdk1.4/jre/lib/rt.jar;G:/JBuilder9/jdk1.4/lib/dt.jar;:/JBuilder9/jdk1.4/lib/tools.jar" mytestpro.runexec
或者:
G:/JBuilder9/jdk1.4/bin/java -classpath "D:/jb/mytestpro/classes" mytestpro.runexec
 
楼上的,通过了。
其实我原本用jsp编码,做了一套小程序,因想实现oracle 数据库表数据导出成为一个excel表,不知该怎么做,便改用JAVA 实现了
但又不知在jsp源码中如何调用上面的java类(.class)?
也就是不知如何将 java类(.class)用何语句嵌套在jsp编码中。

 
jsp里用Javabean 啊。
我上面就是例子啊:
<jsp:useBean id="bean0" scope="session" class="mytestpro.runexec" />
<%= bean0.getGetrun()%>
你要明白jsp就是个稍微特别点的 java class 。
 
终于明白了,非常感谢楼上的耐心教化,还有其他大虾的指教,分实在是不够分的。
以后怎么补呀?
 
后退
顶部