我在网页上编写了一个运行小程序。
我在客户端操作中使用它。
我必须在服务器端运行一个功能。所以我有一个问题。
有没有办法在服务器端运行我的功能?
这是我的另一个问题:
答案 0 :(得分:1)
是的,你可以通过JS。
阅读http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html
示例:
小程序
public class MathApplet extends Applet{
public void printOut(String text) {
System.out.println(text);
}
}
HTML
<script src=
"https://www.java.com/js/deployJava.js"></script>
<script>
<!-- applet id can be used to get a reference to
the applet object -->
var attributes = { id:'mathApplet',
code:'jstojava.MathApplet', width:1, height:1} ;
var parameters = { jnlp_href: 'math_applet.jnlp'} ;
deployJava.runApplet(attributes, parameters, '1.6');
</script>
JS调用
mathApplet.printOut("Testing printing to System.out");
修改强>
希望这就是你要找的东西
如果您只想调用一些代码,处理一些不需要用户交互或applet运行的未绑定功能,那么您只需创建一个导入applet jar的Java Servlet即可。然后,您可以引用任何方法,只需调用它。
HttpWebRequest request = (HttpWebRequest) WebRequest.Create("<YourDomain>/Servlet?param1=value1");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
如果要从.cs调用页面上正在运行的Java applet实例,那么你可以做的是
Response.Write("<script type=\"text/javascript\">myJsAppletCallingMethod();</script>");
或
protected void DoSomethingButton_Click(object sender, EventArgs e) {
ClientScriptManager clientScriptManager = Page.ClientScript;
clientScriptManager.RegisterStartupScript(typeof (Page), "PrintScript_" + UniqueID, "myJsAppletCallingMethod();", true);
}