Javaweb实训第十一天 下载和ajax
下载
**
静态下载
地址指向下载的文件然后另存为
动态下载
1.地址指向下载的文件
2.在要下载的文件中通知浏览器这是一个需要下载的文件,不能再以普通的html格式打开了
(下载的响应格式是:application/x-msdownload)
例如:<% response.setContentType(“application/x-msdownload”);%>
3.通知浏览器不再由浏览器来直接处理和打开该文件,而是由用户自己处理
(设置用户处理的方式:Content-Disposition)
例如:<%response.setHeader(“Content-Disposition”,“attachment;filename=abc.txt”);%>
本地下载
1.设置响应类型,告诉浏览器这是一个下载文件
response.setContentType(“application/x-msdownload”);
response.setHeader(“Content-Disposition”,“attachment;filename=abc.txt”);
2.创建输出流
OutputStream out = response.getOutputStream();
3.文件地址
String filename=“C:\Users\Public\Pictures\Sample Pictures\菊花.jpg”;
4.创建输入流
InputStream in = new FileInputStream(filename);
5.创建一个byte字节流的数组
byte[] bytes = new byte[1024];
int len = 0;
//read():读取文件的一个字节,当执行到文件结尾时返回-1
while(len=in.read(bytes)) !=-1){
//输出
out.write(bytes,0,len);
}
ajax
//验证用户名是否存在
function check() {
//获取用户输入的用户名
var userName=$("#username").val();
//向服务发送请求
KaTeX parse error: Expected '}', got 'EOF' at end of input: … url:"{pageContext.request.contextPath}/regServlet",
//2.请求类型
type:"POST",
//3.请求参数
data:{"name":userName},
//4.指定传输的类型
dataType:"json",
//5.获取服务响应结果
success:function (data) {//回调函数
if(data.result==1){
$("#errorInfo").text(data.info)
}else{
$("#errorInfo").text(data.info)
}
}
})
}
//servlet内部
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/json;charset=utf-8");
PrintWriter out=response.getWriter();
//获取请求参数
String name=request.getParameter("name");
if(name.equals("admin")){
//{"result":"1","info":"用户名已存在"}
out.write("{\"result\":\"1\",\"info\":\"用户名已存在\"}");
}else{
out.write("{\"result\":\"0\",\"info\":\"√\"}");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
上一篇: php xdebug的配置问题 博客分类: php
下一篇: Unity3D简单的帧同步方案