求指点:Servlet怎么响应JSP页面中的AJAX?

各位前辈大神,客户端部分我想我写的虽然不成熟,但应该没问题,服务器部分怎么响应,怎么以XML格式或其他格式响应客户端,这我无从下手,求指点!!!

JSP中的JS代码如下:if(dom)的位置不反应,它前面的alert(dom)是undefined。

<script type="text/javascript">
    	$(document).ready(function(){
    		$("input[name='usercode']").blur(function(){
    		var xmlHttpRequest=false;
    			if(window.XMLHttpRequest){//返回为true说明是新版本IE或其他浏览器
    			xmlHttpRequest=new XMLHttpRequest();
    			}else{//返回值为false时,说明是老板本IE
    			xmlHttpRequest=new ActieXObject("Microsoft.XMLHTTP");
    			}
    			//初始化组件
    			var url="<%=path%>/DoCheckServlet";alert("d")
    			xmlHttpRequest.open("post",url,true);
				//设置回调函数
				xmlHttpRequest.onreadystatechange=callback;
				function callback(){
					if (xmlHttpRequest.readyState == 4
						&& xmlHttpRequest.status == 200) {alert(1);
						var dom = xmlHttpRequest.responseXML;//获取服务器端返回的XML形式的文档对象
						alert(2);alert(dom);
						if (dom) {
							//获取节点名为usercode的节点对象集合
							var userNodes=dom.getElementsByTagName("usercode");
							if(yserNodes.length>0){
								var username=userNodes[0].firstChild.nodeValue;
								$("input[name=usercode]").attr("value",username);
								alert(2);
							}
						}
					}
				}
				//发送请求
				var usercode=$("[name=usercode]").val();
				xmlHttpRequest.send(usercode);
			});
		});
</script>

下面是DoCheckServlet的代码,未完成,我写不下去了,跪求指点!!!

public class DoCheckServlet extends HttpServlet {
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException ,Exception{
		// 获取页面参数
		String userCode = request.getParameter("usercode");
		String passWord=null;
		String path = (String) request.getAttribute("path");
			// 调用业务逻辑接口,用户登录
			IUserService userService = new UserServiceImpl();
			//获取数据库中所有的用户集合
			List<Users> userlist=userService.query(usercode);
			//下面该怎么将这个集合以XML格式传到JSP页面中的AJAX
	}
}			
迷失代码林
浏览 1624回答 1
1回答

tom的猫

将userList转成js可解析的格式,这里推荐使用jsonPrintWriter out = response.getWriter();  out.write(jsonArray.toString()); 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

WebApp