web端需要实现一个功能,我才去的办法是:将自己要实现的功能写成了一个类(该类自带main函数),然后将这个类打成jar包,在jsp中实现调用。
打包方法:eclipse的Package Exploer中右击类名,依次选择export...——java——Runnable JAR file:Launch configuration(选择要打包的类);Export destination(输出路径),根据情况选择Library handling(此处我选择了第一项Extract required libraries into generated JAR),具体可参照 http://jingyan.baidu.com/album/d5a880eb6f1e7d13f147cc20.html
打好包后,下面讲下如何在jsp中调用JAR包:
cmd窗口执行jar包的方法是:java -jar xx.jar 这里是在jsp程序中调用了windows的cmd命令,具体代码如下:
Test1.jsp代码:
<body>
<%
//这三个path是我自己编写的类中main函数的输入参数,
即args[0],args[1],args[2]
String Path1=request.getParameter("Path1");
String Path2=request.getParameter("Path2");
String Path3=request.getParameter("Path3");//request.getParameter()用来接收表单提交的参数
Runtime rt=Runtime.getRuntime();
Process process=null;
String cmd="cmd /c java -jar F:\\xx\\WebContent\\WEB-INF\\lib\\xx.jar "+Path1+" "+Path2+" "+Path3;
process=rt.exec(cmd);
%>
</body>
那么表单提交是如何实现的呢?如下:
<body>
<form name="location" action="Test1.jsp" method="post">(form这三个属性要写,其中Test1.jsp主要内容即上面执行jar包功能)
路径1:<input type="text" name="Path1"><br>
路径2:<input type="text" name="Path2"><br>
路径3:<input type="text" name="Path3"><br>
<p>
</p>
<input type="submit" value="提交"> (此处注意type为“submit”,自己做的时候一开始写的是type=button value=“submit” ,也没注意,花了好长时间才发现是这里写错了
)
</form>
</body>
提醒一下,如果form提交的内容包含中文很有可能返回页面显示时乱码,所以需在Test1.jsp加上一句<%request.setCharacterEncoding("UTF-8")%>
到此就可以实现WEB端调用jar包了!