ajax

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ajax</title>
<script type="text/javascript">
        //声明2个全局的变量对象    
        var req=null,console=null;
        //声明了五个用于显示服务器返回的状态码
        var READY_STATE_UNINITIALIZED=0;
        var READY_STATE_LOADING=1;
        var READY_STATE_LOADING=2;
        var READY_STATE_INTERACTIVE=3;
        var READY_STATE_COMPLETE=4
        //定义了发送异步请求的方法
        function sendRequest(url,params,HttpMethod){
            //如果请求的方式是空,默认设置为get请求方式
            if(!HttpMethod){
                HttpMethod="GET";
            }
            //此处是获取ajax对象(异步对象)
                req=getXMLHTTPRequest();
                if(req){
                    //当状态发生改变的时候绑定一个事件处理函数
                    req.onreadystatechange=onReadyState;
                    //创建一个请求
                    req.open(HttpMethod,url,true);
                    //针对post请求设置的请求消息头
                    req.setRequestHeader("Context-Type","application/x-www-form-urlencoded");
                    //发送请求
                    req.send(params);
                    }
                }
            //获取XMLHTTPRequest对象
            function getXMLHTTPRequest(){
                var xhr=null;
                //如果是火狐浏览器
                if(window.XMLHttpRequest){
                    xhr=new XMLHttpRequest();
                    //如果是IE浏览器就创建该对象
                    }else if(typeof ActiveXObject !="undefined"){
                        xhr=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                return xhr;
                }
        function onReadyState(){
            //此处是获取服务器返回的状态码
            var ready=req.readyState;
            //创建一个变量用于接收服务器返回的数据
            var data=null;
            //当服务器响应状态码为4的时候
            if(ready==READY_STATE_COMPLETE){
                //此处是获取服务器返回的数据
                data=req.responseText;
                }else{
                    data="loading........{"+ready+"}";
                    }
            //该方法是将服务器返回的数据显示到页面上
            toConsle(data);
            }
        function toConsle(data){
            if(console!=null){
                //此处是创建一个div元素节点
                var newline=document.createElement("div");
                //将创建的元素节点追加到console节点的子节点末尾
                console.appendChild(newline);
                //创建一个文本节点
                var txt=document.createTextNode(data);
                //将创建的文本节点追加到创建的元素节点的子节点末尾
                newline.appendChild(txt);
                }
            }
        //为window对象绑定一个事件,当页面加载完毕执行
    window.onload=function(){
        //通过id获取一个元素节点
        console=document.getElementById("console");
        //此处是发送异步请求
        sendRequest("getdata.do");
        }
</script>
</head>
<body  bgcolor="#FF6A6A">
<div id="console"></div>
</body>
</html>

 

 



<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>jspObject</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  <servlet-name>ajax</servlet-name>
  <servlet-class>ajax.ajaxServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>ajax</servlet-name>
  <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>
package ajax;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ajaxServlet  extends HttpServlet{
     public static final String ACTIONPATH = "file/fileupload.docx";   
        public void service(HttpServletRequest request,HttpServletResponse response) throws IOException {
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            try {
                // E:\apachetomcat7\webapps\a\
                //该方法是获取项目部署的物理路径
                String path = request.getRealPath("\\");
                //根据获取的物理路径创建一个文件字节输入流对象
                 FileInputStream fis = new FileInputStream(path + ACTIONPATH);
                 //将字节输入流转换成字符输入流
                 InputStreamReader isr=new InputStreamReader(fis);
                 //创建一个字符缓冲输入流
                 BufferedReader br=new BufferedReader(isr);
                 //使用response响应对象获取一个输出流
                 PrintWriter out = response.getWriter();
                 //创建一个char类型数组,数组大小是50
                 char[] c=new char[100];
                 int num=0;
                 //将遍历读取到的字符存入到char类型数组中
                 while(br.read(c)!=-1){
                     //利用输出流将数组输出
                     out.println(c);
                     num++;
                 }
                 out.close();
                 br.close();
                 isr.close();
                 fis.close();
                 System.out.println("文件已经输出到页面,输出的次数:"+num+"次");
            } catch (IOException e) {
                e.printStackTrace();
            }
            }
}

 

 

 

 

posted @ 2015-10-30 00:17  meridabike  阅读(148)  评论(0编辑  收藏  举报