两个网站做的h5如何合在一起,logo设计哪里做得好,成品网站源码1688体验区,江门网页制作公司web 服务器接收到客户端的 http 请求
针对这个请求#xff0c;分别创建一个代表请求的 HttpServletRequest 对象#xff0c;代表响应的 HttpServletResponse 对象
获取客户端请求过来的参数#xff1a;HttpServletRequest
给客户端响应一些信息#xff1a;HttpServletRe…web 服务器接收到客户端的 http 请求
针对这个请求分别创建一个代表请求的 HttpServletRequest 对象代表响应的 HttpServletResponse 对象
获取客户端请求过来的参数HttpServletRequest
给客户端响应一些信息HttpServletResponse
下载文件
1.获取下载文件的路径
2.下载的文件名
3.让浏览器支持下载
4.获取下载文件的输入流
5.创建缓冲区
6.获取 OutputStream 对象
7.将 FileOutputStream 流写入到 buffer 缓冲区
8.使用 OutputStream 将缓冲区中的数据输出到客户端
pom.xml 导入 jar 包 dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/versionscopeprovided/scope/dependencydependencygroupIdjavax.servlet.jsp/groupIdartifactIdjavax.servlet.jsp-api/artifactIdversion2.3.3/versionscopeprovided/scope/dependency getRealPath 绝对路径resources 放入需要下载的文件 substring 截取字符串 setHeader 文件头信息
resp.setHeader(Content-disposition,attachment;filenamefileName); new FileInputStream 输入流 new byte[1024] getOutputStream 输出流 读数据、写数据 关闭流 web.xml 注册和映射 servletservlet-namedown/servlet-nameservlet-classcom.demo.response.FileDown/servlet-class/servletservlet-mappingservlet-namedown/servlet-nameurl-pattern/down/url-pattern/servlet-mapping
如果重新创建了 ModuleSmart Tomcat 也要添加一个自己创建的路径
代码如下
package com.demo.response;import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;public class FileDown extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.获取下载文件的路径//getRealPath 绝对路径String realPath this.getServletContext().getRealPath(/1.png);//String realPath D:\\IntelliJProject\\javaweb\\response\\target\\classes\\com\\1.png;//2.下载的文件名//substring 截取字符串 /需要转义用\\1获取下一个String fileName realPath.substring(realPath.lastIndexOf(\\)1);//3.让浏览器支持下载//setHeader 文件头信息固定写法resp.setHeader(Content-disposition,attachment;filenamefileName);//URLEncoder.encode编码支持中文//resp.setHeader(Content-disposition,attachment;filename URLEncoder.encode(fileName,UTF-8));//4.获取下载文件的输入流FileInputStream fileInputStream new FileInputStream(realPath);//5.创建缓冲区int len 0;byte[] buffer new byte[1024];//6.获取 OutputStream 对象输出流ServletOutputStream outputStream resp.getOutputStream();//7.将 FileOutputStream 流写入到 buffer 缓冲区//8.使用 OutputStream 将缓冲区中的数据输出到客户端while ((len fileInputStream.read(buffer))!-1){ //0也行outputStream.write(buffer,1,len); //从1到len长度}//IO流后开先关outputStream.close();fileInputStream.close();}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}