ajax
2015-10-30 00:17
309 查看
<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%> <!DOCTYPEhtml> <html> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"> <title>ajax</title> <scripttype="text/javascript"> //声明2个全局的变量对象 varreq=null,console=null; //声明了五个用于显示服务器返回的状态码 varREADY_STATE_UNINITIALIZED=0; varREADY_STATE_LOADING=1; varREADY_STATE_LOADING=2; varREADY_STATE_INTERACTIVE=3; varREADY_STATE_COMPLETE=4 //定义了发送异步请求的方法 functionsendRequest(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对象 functiongetXMLHTTPRequest(){ varxhr=null; //如果是火狐浏览器 if(window.XMLHttpRequest){ xhr=newXMLHttpRequest(); //如果是IE浏览器就创建该对象 }elseif(typeofActiveXObject!="undefined"){ xhr=newActiveXObject("Microsoft.XMLHTTP"); } returnxhr; } functiononReadyState(){ //此处是获取服务器返回的状态码 varready=req.readyState; //创建一个变量用于接收服务器返回的数据 vardata=null; //当服务器响应状态码为4的时候 if(ready==READY_STATE_COMPLETE){ //此处是获取服务器返回的数据 data=req.responseText; }else{ data="loading........{"+ready+"}"; } //该方法是将服务器返回的数据显示到页面上 toConsle(data); } functiontoConsle(data){ if(console!=null){ //此处是创建一个div元素节点 varnewline=document.createElement("div"); //将创建的元素节点追加到console节点的子节点末尾 console.appendChild(newline); //创建一个文本节点 vartxt=document.createTextNode(data); //将创建的文本节点追加到创建的元素节点的子节点末尾 newline.appendChild(txt); } } //为window对象绑定一个事件,当页面加载完毕执行 window.onload=function(){ //通过id获取一个元素节点 console=document.getElementById("console"); //此处是发送异步请求 sendRequest("getdata.do"); } </script> </head> <bodybgcolor="#FF6A6A"> <divid="console"></div> </body> </html>
<?xmlversion="1.0"encoding="UTF-8"?> <web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://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>
packageajax;
importjava.io.BufferedReader;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
importjava.io.UnsupportedEncodingException;importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassajaxServletextendsHttpServlet{
publicstaticfinalStringACTIONPATH="file/fileupload.docx";
publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
try{
//E:\apachetomcat7\webapps\a\
//该方法是获取项目部署的物理路径
Stringpath=request.getRealPath("\\");
//根据获取的物理路径创建一个文件字节输入流对象
FileInputStreamfis=newFileInputStream(path+ACTIONPATH);
//将字节输入流转换成字符输入流
InputStreamReaderisr=newInputStreamReader(fis);
//创建一个字符缓冲输入流
BufferedReaderbr=newBufferedReader(isr);
//使用response响应对象获取一个输出流
PrintWriterout=response.getWriter();
//创建一个char类型数组,数组大小是50
char[]c=newchar[100];
intnum=0;
//将遍历读取到的字符存入到char类型数组中
while(br.read(c)!=-1){
//利用输出流将数组输出
out.println(c);
num++;
}
out.close();
br.close();
isr.close();
fis.close();
System.out.println("文件已经输出到页面,输出的次数:"+num+"次");
}catch(IOExceptione){
e.printStackTrace();
}
}
}
相关文章推荐
- surf算子简介
- 纯css实现的漂亮圆角按钮
- 自己的服务器通过微信公众号Token验证测试的代码(Python版)
- ios入门攻略 07篇 C语言基础【循环结构之for语句,打印九九乘法表】
- C++运算符重载
- vim配置文件和插件管理
- unix环境高级编程-------socket(套接字)
- SIFT算子简述
- Wifi攻击工具 2:WiFite v2
- 数位DP-HDU-2089-不要62
- hdu 1060 leftmost digit
- 理清互联网金融的脉络(二)
- Qt编程技巧 Qt随机数的产生
- Android 设置EditText光标Curso颜色及粗细
- Bootstrap导航条鼠标悬停下拉菜单
- Wifi攻击工具 1:Aircrack-ng
- HttpClient 4.3教程
- how to deal with error SPARK-5063 in spark
- scurm学习笔记
- 遗传算法学习