【发布时间】:2015-10-12 02:54:35
【问题描述】:
我是客户端服务器应用程序的初学者,并且在服务器端使用 Java Servlet 并在客户端使用 JavaScript 开发非常基本的应用程序。 我在客户端(index.html)上使用 AJAX 的 POST 请求,如下所示:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.post("/Serve",
{
name: "Donald Duck",
city: "Duckburg"
},
function(data, status) {
alert("Data: " + data + "\nStatus: " + status);
}
);
});
});
</script>
</head>
<body>
<button>Send an HTTP POST request to a page and get the result back</button>
</body>
</html>
我使用的是 GlassFish 4.1 版,Servlet 代码 (myServe.java) 如下所示:
public class MyServe extends HttpServlet {
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException{
PrintWriter out = response.getWriter();
out.print("HI");
}
}
理想情况下,响应应该转到 AJAX 函数中的数据变量,它应该在按钮单击时显示,但警报屏幕只是再次显示 JS 代码:
谁能告诉我哪里出错了? web.xml 文件也是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>MyServe</servlet-name>
<servlet-class>org.MyServe</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServe</servlet-name>
<url-pattern>/Serve</url-pattern>
</servlet-mapping>
</web-app>
【问题讨论】:
-
@KrutikJayswal 抱歉,您能否详细说明您的问题。您是在问 Web App 吗?
标签: javascript java jquery ajax servlets