<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script>
var xmlHttp = null;
var ballSelect = null;
var showDiv = null;
window.onload = function(){
ballSelect = document.getElementById("ballSelect");
showDiv = document.getElementById("showDiv");
}
function createAjax(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function ballChange(){
//得到下拉框的选择项
var info = ballSelect.value;
if(info == '0'){
showDiv.innerHTML = '';
return;
}
//创建AJAX 对象
createAjax();
//设置回调函数
xmlHttp.onreadystatechange = press;
//向服务器发送GET请求
xmlHttp.open("GET","ball?ballType="+info,true);
//设置消息体
xmlHttp.send(null);
}
function press(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
var info = "var arr="+xmlHttp.responseText;
//执行字符串,得到数组对象
eval(info);
var str = "";
/*for(var i=0;i<arr.length;i++){
str += "<div>"+arr[i].name+" "+arr[i].place+"</div>";
}*/
for(obj in arr){
str += "<div>"+ arr[obj].name+" "+arr[obj].place+"</div>";
}
showDiv.innerHTML = str;
}
/*
//得到解析XML的对象
var xml = xmlHttp.responseXML;
//得到要标签man中所有对象的集合
var mans = xml.getElementsByTagName("man");
var str="";
for(var i = 0;i<mans.length;i++){
var name = mans[i].getElementsByTagName("name")[0].firstChild.nodeValue;
var place = mans[i].getElementsByTagName("place")[0].firstChild.nodeValue;
str +="<div>"+name+" "+place+"</div>";
}
alert(str);
showDiv.innerHTML = str;
}*/
}
</script>
<body>
<select id="ballSelect" onchange="ballChange();">
<option value="0">请选择</option>
<option value="1">草帽海贼团</option>
<option value="2">白胡子海贼团</option>
</select>
<div id="showDiv"
style="width:200px;height:200px;border:1px solid #000;">
</div>
</body>
</html>
package com.lovo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class BallServlet extends HttpServlet {
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//得到球队的信息
int ballType = Integer.parseInt(request.getParameter("ballType"));
if(ballType==1){//如果为1,表示客户端选择的是湖人队
out.print("[{name:'路飞',place:'船长'},{name:'索隆',place:'刀客'}]");
}else if(ballType==2){//如果为2,表示客户端选凯尔特人队
out.print("[{name:'白胡子',place:'船长'},{name:'艾斯',place:'队长'}]");
}
/*
//如果向客户端发送xml格式数据,那么MIME必须设置为text/xml
response.setContentType("text/xml;charset=utf-8");
PrintWriter out = response.getWriter();
//得到球队的信息
int ballType = Integer.parseInt(request.getParameter("ballType"));
String info= "<?xml version='1.0' encoding='utf-8'?>";
System.out.println(ballType);
info = "<ball>";
if(ballType==1){
info+="<man>";
info+="<name>蒙奇.D.路飞</name>";
info+="<place>船长</place>";
info+="</man>";
info+="<man>";
info+="<name>洛罗洛洛.索隆</name>";
info+="<place>三刀流刀手</place>";
info+="</man>";
info+="<man>";
info+="<name>娜美</name>";
info+="<place>航海士</place>";
info+="</man>";
info+="<man>";
info+="<name>乌索普</name>";
info+="<place>狙击手</place>";
info+="</man>";
}else if(ballType==2){
info+="<man>";
info+="<name>白胡子</name>";
info+="<place>船长</place>";
info+="</man>";
info+="<man>";
info+="<name>艾斯</name>";
info+="<place>队长</place>";
info+="</man>";
}
info+="</ball>";
out.print(info);*/
}
}
分享到:
相关推荐
很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...
Ajax从入门到精通.pdf 本书籍旨在深入浅出地介绍 Ajax 技术,从基础知识到高级应用,全面覆盖 Ajax 的核心概念、技术原理、实现方法和实践应用。书籍的主要内容包括: 1. Ajax 概述:本书首先介绍了 Ajax 的概念、...
Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容的能力,提高用户体验。本教程将深入探讨如何使用AJAX、JavaScript以及MySQL...
**Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript与服务器进行异步数据交换,通过XML或者JSON格式传输数据,使得用户...
本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...
在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...
"AJAX原理与技术的深入分析" AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,允许Web应用程序异步地从服务器请求数据,而不需要重新加载整个网页。下面我们将深入分析AJAX的原理、技术、意义和发展...
**Ajax Interceptor:深入理解与应用** Ajax Interceptor 是一款专为谷歌浏览器(Chrome)设计的插件,它允许开发者在Ajax请求发送后和响应返回前进行干预,从而实现对AJAX请求数据的修改。这款插件对于前端开发、...
**AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...
《Professional Ajax, 2nd Edition》是一本深入探讨Ajax技术的专业书籍,由三位作者Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett共同撰写。本书在2007年由Wiley Publishing, Inc.出版,是针对网站开发、设计以及...
**Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...
标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...
本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和...
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
**ASP.NET AJAX 全面解析** ASP.NET AJAX(Asynchronous JavaScript and XML)是微软为.NET Framework提供的一种技术,用于创建富交互式、响应快速的Web应用程序。它将JavaScript库(MicrosoftAjax.js)与服务器端...
2. **事件处理**:库内部监听`ajaxStart`、`ajaxSend`、`ajaxSuccess`、`ajaxError`等事件,提供了对Ajax请求生命周期的控制。开发者可以通过自定义事件处理器来扩展功能或处理错误。 3. **内容替换**:默认情况下...
Struts2与Ajax 的实现原理,于Servlet+Ajax原理是一致的,都是通过后台的response.getWriter().print("");把数据传输给前台的。 前台Ajax格式如下(需要导入ajax库,比如:jquery-1.11.3.js) 格式: $(function()...