将JavaScript与Java后端集成

时间:2015-02-05 16:01:59

标签: java javascript jquery servlets

尝试找到制作准java-javascript Web应用程序的最佳方法。我想用jQuery前端编写一个java servlet(用于控制器和后端)。让这两者相互沟通的最佳方法是什么?我习惯于在两者中编码,但从未在一起工作过。

有人可以帮帮我吗?我想一个开始就是从jQuery代码调用Java Servlet并从servlet获取响应。

谢谢!

2 个答案:

答案 0 :(得分:1)

使用JAX-RS实现之一(JerseyRESTeasy等)创建REST后端。使用普通的旧Servlet API编写Web服务非常繁琐。

您可以从here开始学习JAX-RS。

答案 1 :(得分:1)

看一下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>