我刚刚在Google上阅读了一些有关ajax基础知识的文章。我想在我的java Web应用程序中使用ajax程序进行用户名验证。我在互联网上搜索了很多但我没有得到任何ajax的示例程序及其服务器端编码在java中。所有示例程序都有php或asp的服务器端编码。我没有得到如何将java servlet的响应发送到ajax。能否请您提供一些关于如何在java中使用ajax的示例或程序?
答案 0 :(得分:2)
我没有得到如何将来自java servlet的响应发送到ajax。
只需将其写入回复。
response.getWriter().write(result);
这是一个更具体的启动示例:
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$("#username").change(function() {
$.get("validateUsernameServlet", $(this).serialize(), function(data) {
if (!data.valid) {
$("#username_message").text("Duplicate username, choose another");
}
});
});
});
</script>
</head>
<body>
<form action="register" method="post">
<input type="text" id="username" name="username" />
<span id="username_message"></span>
...
</form>
</body>
以下是servlet的doGet()
的外观:
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
boolean valid = yourUserService.isValidUsername(username);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("{\"valid\":" + valid + "}");
}
答案 1 :(得分:1)
答案 2 :(得分:1)
您想要编写通常称为 RESTful 服务的内容。
有一种标准的Java方法可以做到这一点:JAX / RS。您编写了一些Java并对其进行注释以指示它提供的Ajax服务。很容易做到。
Apache Wink项目是一个可自由下载的实现。
我在my blog上有一系列关于编写和测试此类服务的文章