我正在尝试使用创建一个轻量级 Web 界面
嵌入式码头来托管服务器,以及带有 java 脚本的简单 html 代码来显示主页,因为页面不是静态的,具体取决于我需要调用 java 代码的条件。示例 html 代码如下:
<body>
<script type="text/javascript">
function myfunction(frm)
{
var opt=frm.option.value;
alert("option is"+frm.option.value);
// call a java method depending on the value of opt
frm.option.value="";
}
</script>
<h1 style="text-align: center;">Agent Management Interface</h1>
<ol>
</ol>
<form name="management_form">
Enter Option: <input type="text" id="optiontb" name="option">
<input type="button" onclick="myfunction(this.form)" value="submit">
</form>
</body>
</html>
我不确定这个问题之前是否已经发布过,但我想知道是否有一种方法可以将变量传递给用户定义的 java 代码并获取返回值并将它们显示在 Web 界面上?
我读了一点我没有使用任何外部工具,使用 eclipse 进行开发,使用小程序不是一个选项。我希望 Web 界面的重量尽可能轻。
编辑2:
我已经使用下面给出的建议更新了 html 文件,但这似乎对我不起作用。我怀疑这是因为我编写处理程序的方式,日志消息是:
2012-05-28 16:02:53.753:DBUG:oejs.AsyncHttpConnection:async request (null null)@16471729 org.eclipse.jetty.server.Request@fb56b1
2012-05-28 16:02:53.754:DBUG:oejs.Server:REQUEST / on org.eclipse.jetty.server.nio.SelectChannelConnector$SelectChannelHttpConnection@bc8e1e@127.0.0.1:8080<->127.0.0.1:47830
2012-05-28 16:02:53.756:DBUG:oejs.Server:RESPONSE / 304
2012-05-28 16:02:53.757:DBUG:oejs.AsyncHttpConnection:async request (null null)@16471729 org.eclipse.jetty.server.Request@fb56b1
为处理程序编写的代码如下
System.setProperty("org.eclipse.jetty.util.log.DEBUG","true");
Server server = new Server(8080);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setResourceBase(args.length == 2?args[1]:".");
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
System.out.println("serving " + resource_handler.getBaseResource());
ContextHandler context0 = new ContextHandler();
context0.setContextPath("/senddata");
Handler handler0=new HelloHandler();
context0.setHandler(handler0);
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[]{context0});
HandlerCollection handlersc = new HandlerCollection();
handlersc.setHandlers(new Handler[]{resource_handler,new DefaultHandler(), contexts});
server.setHandler(handlersc);
server.start();
server.join();