【问题标题】:Integrating JavaScript with Java Backend将 JavaScript 与 Java 后端集成
【发布时间】:2015-02-05 16:01:59
【问题描述】:
试图找到制作准 java-javascript Web 应用程序的最佳方法。我想用 jQuery 前端编写一个 java servlet(用于控制器和后端)。让这两者相互交流的最佳方法是什么?我习惯于同时编写这两种代码,但从未一起编写过它们。
谁能帮帮我?我想一开始是从 jQuery 代码调用 Java Servlet 并从 servlet 返回响应。
谢谢!
【问题讨论】:
标签:
java
javascript
jquery
servlets
【解决方案1】:
使用一种 JAX-RS 实现(Jersey、RESTeasy 等)创建 REST 后端。使用普通的旧 Servlet API 编写 Web 服务很乏味。
你可以从here开始学习JAX-RS。
【解决方案2】:
看看 jQuery 的 ajax 函数。这是一个简单的例子:
// Servlet
@SuppressWarnings("serial")
public class AjaxHandler extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
resp.setContentType("text/plain");
resp.getWriter().print("Hello jQuery!");
}
}
// View.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<title>Insert title here</title>
</head>
<body>
<script>
$(document).ready(function() {
$.ajax({
url : '/AjaxHandler', // servlet mapping ("web.xml")
success : function(responseText) {
$('#ajaxHandlerResponse').text(responseText);
}
});
});
</script>
Servlet's message: <span id="ajaxHandlerResponse"></span>
</body>
</html>