为了账号安全,请及时绑定邮箱和手机立即绑定

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>









正在回答

举报

0/150
提交
取消

servlet测试控制台无反应啊??求大神帮忙,

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信