1 简答题(写概念,思原理)
1.1 请简述你对AJAX的理解
参考答案:
Asynchronous Javascript And Xml(异步的javascript和xml)。为了解决传统的web应用当中“等待-响应-等待"的弊端而创建的一种技术,其实质可以理解 为:使用浏览器内置的一个对象(XmlHttpRequest)向服务器发送请求,服务器返回xml数据 或者是文本数据给浏览器,然后在浏览器端,使用这些数据更新部分页面,整个过程,页面无任何的刷新。
2 填空题(读代码、加注释)
2.1 阅读下面的代码,并在指定位置添加注释。
3 编程题(改代码,写代码)
3.1 下拉列表实现
使用ajax技术完成下拉列表对应显示内容。
当选择下拉列表某项时:
显示对应内容:
参考答案:
1)ActionServlet
- package web;
- 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 ActionServlet extends HttpServlet {
- public void service(HttpServletRequest request,
-
HttpServletResponse response)
-
throws ServletException, IOException {
-
request.setCharacterEncoding("utf-8");
-
String uri = request.getRequestURI();
-
String path = uri.substring(uri.lastIndexOf("/"),
-
uri.lastIndexOf("."));
-
response.setContentType("text/html;charset=utf-8");
-
PrintWriter out = response.getWriter();
-
if(path.equals("/prod")){
-
String name = request.getParameter("name");
-
System.out.println("name:" + name);
-
if(name.equals("qq")){
-
out.println("性价比高");
-
}else if(name.equals("bmw")){
-
out.println("驾驶性能出众");
-
}else{
-
out.println("好车,也贵");
-
}
-
}
-
out.close();
- }
- }
2)product.jsp - <%@ page contentType=“text/html; charset=utf-8”
-
pageEncoding="utf-8"%>
-
<title>Insert title here</title>
-
<style>
-
#d1{
-
background-color:#fff8dc;
-
width:220px;
-
}
-
</style>
-
<script type="text/javascript" src="js/prototype-1.6.0.3.js">
-
</script>
-
<script type="text/javascript">
-
function getXmlHttpRequest(){
-
var xhr = null;
-
if((typeof XMLHttpRequest)!='undefined'){
-
xhr = new XMLHttpRequest();
-
}else {
-
xhr = new ActiveXObject('Microsoft.XMLHttp');
-
}
-
return xhr;
-
}
-
function change(v1){
-
var xhr = getXmlHttpRequest();
-
xhr.open('get','prod.do?name='+v1,true);
-
xhr.onreadystatechange=function(){
-
if(xhr.readyState == 4){
-
var txt = xhr.responseText;
-
$('d1').innerHTML = txt;
-
}
-
}
-
xhr.send(null);
-
}
-
</script>
-
<select style="width:120px;"
-
id="s1" onchange="change(this.value);">
-
<option value="qq">QQ</option>
-
<option value="bmw">宝马</option>
-
<option value="ff">法拉利</option>
-
</select>
-
<div id="d1"></div>