我正在学习jQUery AJAx并将其用作参考:http://www.journaldev.com/4742/jquery-ajax-jsp-servlet-java-example 我正在使用Tomcat和以下代码。当我运行tomcat时,我可以通过http://localhost:8080/clientest/访问我的网站,并显示用户名的输入字段。但是,一旦我输入一个名字,没有任何事 我知道教程没有提到使用tomcat。这可能是问题吗?我是客户端编程和servlet的新手,所以也许我误解了一些东西。如果有人能帮助我,我将非常感激。
的Servlet
package org.cc.sbc;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/clientest")
public class SayHelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName = request.getParameter("userName").trim();
if(userName == null || "".equals(userName)){
userName = "Guest";
}
String greetings = "Hello " + userName;
response.setContentType("text/plain");
response.getWriter().write(greetings);
}
}
我的index.jsp文件:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>jQuery, Ajax and Servlet/JSP integration example</title>
<script src="http://code.jquery.com/jquery-latest.js"
type="text/javascript"></script>
<script src="js/app-ajax.js" type="text/javascript"></script>
</head>
<body>
<form>
Enter Your Name: <input type="text" id="userName" />
</form>
<br>
<br>
<strong>Ajax Response</strong>:
<div id="ajaxGetUserServletResponse"></div>
</body>
</html>
APP-ajax.js:
$(document).ready(function() {
$('#userName').blur(function() {
$.ajax({
url : 'clientserver',
data : {
userName : $('#userName').val()
},
success : function(responseText) {
$('#ajaxGetUserServletResponse').text(responseText);
}
});
});
});
的web.xml:
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>SayHelloServlet</servlet-name>
<servlet-class>org.cc.sbc.SayHelloServlet</servlet-class>
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
</servlet>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
答案 0 :(得分:0)
所以我一直在寻找stackoverflow。所以我误解了我的错误。由于什么都没发生,我的app-ajax文件甚至没有使用过。这就像没有额外的脚本一样。看看我的项目结构,我将app-ajax文件放在js文件夹中。这就是它从未被调用过的原因。一旦我将app-ajax文件放在与index.jsp文件相同的目录中,它就可以正常工作。它不是最好的解决方案,但它对我来说很重要。如果有人遇到同样的问题。
答案 1 :(得分:0)
你的网址怎么样:
@WebServlet("/clientest")
public class SayHelloServlet extends HttpServlet
/clientest
$.ajax({
url : 'clientserver',
clientserver
应该说明