zoukankan      html  css  js  c++  java
  • 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:apachetomcat7webappsa
                    //该方法是获取项目部署的物理路径
                    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();
                }
                }
    }
    
    
    
     
  • 相关阅读:
    [转载红鱼儿]delphi 实现微信开发(1)
    Devexpress VCL Build v2013 vol 14.1.3 发布
    [翻译]LSP程序的分类
    睡眠不好
    LuaStudio 9.27 去10分钟退出暗桩板
    vs2012 提示 未能正确加载 "Visual C++ Language Manager Package" 包 的解决办法
    岁月蹉跎
    重新安装系统之前备份
    运动会
    乱思
  • 原文地址:https://www.cnblogs.com/cuitrek/p/4922201.html
Copyright © 2011-2022 走看看