我有一个带有main()
方法的Java类。它包含进行一些数字运算和分析的逻辑。它计划每天运行一次,如果需要可以再次手动运行。例程使用Log4j记录其活动。运行它并检查日志需要远程登录主机框。
我想将其转换为Web应用程序,我可以通过网页触发它并查看日志的输出,理想情况是滚动时。
最好的方法是什么? Java webapp?一个简单的基于Web的脚本运行器?或者我可能不知道的任何其他选择。
更新 关于要求的更多细节:
答案 0 :(得分:5)
您是否考虑过设置Hudson / Jenkins服务器来运行任务?因为它具有您描述的功能,所以它是一个java Web应用程序,无需修改现有项目即可使用。
答案 1 :(得分:1)
您可以通过AJAX提交表单,并使用Ajax和Spring MVC轮询新的日志条目并将它们添加到页面上的表中。下面是AJAX调用的一些快速示例代码,用于使用JQuery和Spring MVC控制器方法来检查新的日志条目。
JSP:
$.getJSON("logs.htm", { lastLogId: logId }, function(response) {
$('#myTable tr:last').after('<tr><td>' + response + '</td></tr>');
});
Spring MVC Controller(返回JSON):
@Controller
public class LogController {
@RequestMapping("logs.htm")
public @ResponseBody String getLogs(@RequestAttribute("lastLogId") Integer lastLogId, HttpSession sess) {
LogList logs = sess.getAttribute("logs"); // just an example using user-defined class "LogList"
return logs.getNextLog(lastLogId);
}
}
我在这里没有提到一些部分(需要在log4j日志时将日志条目存储到会话等等),但是我希望看到使用Spring MVC的方法来实现这一点至少是有帮助的。 AJAX。
答案 2 :(得分:0)
您可以尝试从jsp / jsf
调用Web服务