您的位置:首页 > 其它

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();
}
}
}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: