我可以在服务器端代码中使用java applet吗?

时间:2014-02-06 09:18:38

标签: java applet

我在网页上编写了一个运行小程序。

我在客户端操作中使用它。

我必须在服务器端运行一个功能。所以我有一个问题。

有没有办法在服务器端运行我的功能?

这是我的另一个问题:

What's servlet? How to use?

1 个答案:

答案 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);
}

信用1 2