servlet測試控制臺無反應????求大神幫忙,
<%@ 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%>">
? ? <style type="text/css">
? ? #myDiv{
? ? position:absolute;
? ? left:50%;
? ? top:50%;
? ? margin-left: -220px;
? ? margin-top: -50px;
? ? }
? ? </style>
? ? <script type="text/javascript">
? ? var xmlHttp;
? function getMoreContents(){
? //1.獲取文本框里的關鍵字
? var content=document.getElementById("keyword");
? if(content.value==""){
? return;
? }
? //當輸入的關鍵字不為空時,將其發送給服務器,我們使用ajax異步發送數據,
? //需要獲取XmlHttp這個對象
? xmlHttp=createXmlHttp();
? //alert(xmlHttp);
? //發送數據給服務器
? var url="search?keyword="+escape(content.value);
? //和服務器建立連接
? xmlHttp.open("GET",url,true);
? //接收服務器給我們的響應 xmlHttp綁定回調函數
? xmlHttp.onreadyStateChange=callback;
? //獲得數據之后,就可以動態的展示這些數據了,把這些數據展示到輸入框的下面
?
?
?
?
? }
?
?
? ??
? ? //獲取XmlHttp這個對象
? ? function createXmlHttp(){
? //在大多數瀏覽器的情況下
? var xmlHttp;
? if(window.XMLHttpRequest){
? xmlHttp=new XMLHttpRequest();
? }
? //考慮瀏覽器兼容性問題
? if(window.ActiveXObject){
? xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
? if(!xmlHttp){
? xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
? }
? }
? return xmlHttp;
? ? }
? ?
? ? //回調函數? 作用是獲取服務器響應過來的關聯數據
? ? function callback(){
? ? if(xmlHttp.readyState==4){
? ? if(xmlHttp.status==200){
? ? //接收服務器傳遞給客戶端的響應信息? 文本格式
? ? var result=xmlHttp.responseText;
? ? //將其解析成json json本身也是一種文本格式兩者之間有較小的區別
? ? var json=eval("("+result+")");//(result)
? ? }
? ? }
? ? }
? ?
? ? //設置關聯數據的展示,參數代表的是服務器傳遞過來的關聯信息(json格式)
? ? function setContent(contents){
? ? //獲取服務器傳遞過來的關聯信息的長度 依次確定來生成多少個<tr></tr>
? ? var size=contents.length;
? ? for(var i=0;i<size;i++){
? ? var text=contents[i];//json數據的第i個元素值
? ? var tr=document.createElement("tr");
? ? var td=document.createElement("td");
? ? td.setAttribute("border", "0");
? ? td.setAttribute("bgcolor","#FFFAFA" );
? ? //每行鼠標移上去都會變色 加個樣式
? ? this.className="mouseOver";
? ? //每行鼠標移出去之后也會變色 加個樣式
? ? this.className="mouseOut";
? ? //點擊某行的信息時 會自動設置到輸入框中
? ? td.onclick=function(){
//這個方法實現的是 當鼠標點擊一個關聯的數據時,關聯數據自動設置到輸入框里?
? ?
? ? };
? ? //創建文本節點
? ? var textNode=document.createTextNode(text);
? ? td.appendChild(textNode);
? ? tr.appendChild(td);
? ? document.getElementById("content_table_tbody").appendChild(tr);
? ? }
? ? }
? ??
? ??
? ??
? ??
? ??
? ??
? ??
? ? </script>
?
? </head>
??
? <body>
? <div id="myDiv">
? <!-- 輸入框 -->
? <input type="text" size="50" id="keyword" onkeyup="getMoreContents()" />
? <input type="button"? value="百度一下" width="50px"/>
? <!-- 下面是內容提示的區域(服務器返回給客戶端的響應信息) -->
? <div id="popDiv">
? <table id="content_table" bgcolor="#FFFAFA" border="0" cellspacing="0" cellpadding="0">
? <tbody id="content_table_tbody" >
? <!-- 動態查詢出來的數據顯示在這個地方 -->
? <tr><td>ajax1</td></tr>
? <tr><td>ajax2</td></tr>
? <tr><td>ajax3</td></tr>
?
? </tbody>
?
? </table>
?
? </div>
? </div>
? ??
? </body>
</html>
package com.imooc.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
public class SearchServlet extends HttpServlet {
//定義一個容器模擬數據庫
static List<String> contents=new ArrayList<String>();
static {
contents.add("ajax post");
contents.add("ajax get");
contents.add("ajax 對象");
contents.add("data");
contents.add("HmlHttp");
contents.add("ajax post");
contents.add("Jerry");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("123");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//獲取前臺傳過來的參數(keyword)
String keyword=request.getParameter("keyword");
//根據keyword查詢關聯信息
List<String> datas=getData(keyword);
//將得到的關聯信息轉化成json數據格式
System.out.print(JSONArray.fromObject(datas));
}
public List<String> getData(String keyword){
List<String> datas=new ArrayList<String>();
for(String data:contents){
if(data.contains(keyword)){
datas.add(data);
}
}
return datas;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"?
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_2_5.xsd">
? <display-name></display-name>
? <welcome-file-list>
? ? <welcome-file>index.jsp</welcome-file>
? </welcome-file-list>
??
? <servlet>
? <servlet-name>search</servlet-name>
? <servlet-class>com.imooc.servlet.SearchServlet</servlet-class>
? </servlet>
?
? <servlet-mapping>
? <servlet-name>search</servlet-name>
? <url-pattern>/search</url-pattern>
? </servlet-mapping>
??
??
??
</web-app>