当前位置: 首页 > news >正文

广州广告网站建设抖音代运营收费20万

广州广告网站建设,抖音代运营收费20万,网站关键词长度,自适应网站建设沈阳板块一 Servlet编程#xff1a;第八节 文件的上传下载操作 一、文件上传#xff08;1#xff09;前端内容#xff08;2#xff09;后端内容 二、文件下载#xff08;1#xff09;前端的超链接下载#xff08;2#xff09;后端下载 在之前的内容中我们终于结束了Servle… 板块一 Servlet编程第八节 文件的上传下载操作 一、文件上传1前端内容2后端内容 二、文件下载1前端的超链接下载2后端下载 在之前的内容中我们终于结束了Servlet五大对象的学习我们发现这些对象在操作数据时往往只是简单的参数传递那我们该如何操作更复杂的资源呢比如要在后端上传下载一个文件这一节完善一个Servlet的重要知识就是文件的上传下载操作 一、文件上传 1前端内容 使用表单提交设置表单的提交类型为POST请求 methodpost设置表单类型为文件上传表单 enctypemultipart/form-data设置文件提交的地址准备表单元素 - 普通的表单项 typetext - 文件项 typefile设置表单元素的name属性值(表单提交一定要设置表单元素的name属性值,否则后台无法接收数据!) html code form methodpost enctypemultipart/form-data actionuploadServlet姓名:input typetext nameuname br文件:input typefile namemyfile br!-- button默认的类型是提交类型 typesubmit --button提交/button /form2后端内容 使用注解 MultipartConfig 将一个Servlet标识为支持文件上传。Servlet将multipart/form-data的 POST 请求封装成一个Part对象,通过Part对象的方法对上传的文件进行操作。 实例详解见代码注释 package com.TommyNike.servlet;import javax.servlet. ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet. annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; import java.io. IOException;webServlet(/uploadservlet) //与前端的表单的action一致 MultipartConfig // 如果是文件上传表单,一定要加这个注解 public class Uploadservlet extends HttpServlet {override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding(UTF-8); // 设置请求的编码格式// 获取普通表单项 (文本框)String uname request.getParameter(uname); //uname与文本框的name属性值一致// 通过 getPart(name)方法获取Part对象 (name代表的是页面中file文件域的name属性值)Part part request.getPart(myfile);// 通过Part对象,获取上传的文件名String fileName part.getSubmittedFileName();// 获取上传文件需要存放的路径 (得到项目存放的真实路径)String realPath request.getServletContext().getRealPath(/);// 将文件上传到指定位置part.write(realPath fileName);} }注意 只要前端表单的属性值为enctypemultipart/form-data即表单的类型为文件上传表单Servlet后端就一定要加注解MultipartConfig否则表单的内容无法传递到后端 二、文件下载 文件下载,即将服务器上的资源下载(拷贝)到本地,我们可以通过两种方式下载。第一种是通过超链接本 身的特性来下载;第二种是通过代码下载。 注意 在Idea中需要在服务器编辑配置-部署-点击把外部资源添加到服务器中资源才能在浏览器中被访问到 1前端的超链接下载 当我们在HTML或JSP页面中使用a标签时,原意是希望能够进行跳转,当遇见浏览器能够直接显示的资源,浏览器就会默认显示出来,比如 txt、png、jpg等。但当超链接遇到浏览器不识别的资源时会自动下载比如zip压缩包等。当然我们也可以通过download属性规定浏览器进行下载但有些浏览器并不支持。 默认下载 !-- 当超链接遇到浏览器不识别的资源时,会自动下载 -- a hreftest.zip超链接下载/a指定 download属性下载 download属性可以不写任何信息,会自动使用默认文件名。如果设置了download属性的值,则使用设置的值做为文件名。当用户打开浏览器点击链接的时候就会直接下载文件。 !-- 当超链接遇到浏览器识别的资源时,默认不会下载。通过download属性可进行下载 -- a hreftest.txt download超链接下载/a2后端下载 实现步骤 需要通过 response.setContentType 方法设置Content-type头字段的值为浏览器无法使用某种方式或激活某个程序来处理的MIME类型,也就是让浏览器无法识别它。例如application/octet-stream或application/x-msdownload等。设置左下角那个下载框需要通过响应头 response.setHeader 方法设置Content-Disposition头的值为attachment;filename文件名”读取下载文件,调用输出流response.getOutputStream方法向客户端写入附件内容。 实例详解见代码注释 package com.TommyNike.servlet;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.File; import java.io.FileInputStream; import java. io. IOException; import java.io.InputStream;public class Downloadservlet extends HttpServlet {protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 设置两端的编码格式request.setCharacterEncoding(UTF-8);request.setContentType(text/html;charsetUTF-8);// 获取文件下载路径String path getServletContext().getRealPath(/);//获取要下载的文件名String name request.getParameter(fileName);if (name null || .equals(name .trim())) { //文件名判空response.getWriter().write( s:请输入要下载的文件名!);response.getWriter().close();return;}//通过路径得到file对象File file new File(path name);//判断file对象是否存在,且是否是一个标准文件if (file.exists() file.isFile()) {// 设置响应类型(浏览器无法使用某种方式或激活某个程序来处理的类型)response.setContentType(application/x-msdownload);// 设置下载文件的名称nameresponse.setHeader(Content-Disposition, attachment; filename name);// 得到输入流InputStream is new FileInputStream(file);// 得到输出流ServletOutputStream os response.getOutputStream();//定义byte数组byte[] car new byte[1024];//定义长度int len 0;// 循环 输出while ((len is.read(car)) ! -1) { // ! -1 :不为空os.write(car, 0, len);}// 关闭流 释放资源os.close();is.close();} else {System.out.println(文件不存在,下载失败!);}} } 以上就是本专栏Servlet板块的全部内容了欢迎读者在评论区提出意见反馈博主也很乐于私信交流。下一个板块我们将着重详解Java EE的另一个基石JSP和JSTL
http://www.zqtcl.cn/news/262501/

相关文章:

  • 杭州网站建设推荐q479185700上墙网站推广费用入什么科目
  • 天津网站建设 熊掌号设计网站大全
  • 网站建设不力 被问责上海传媒公司有哪些
  • 在线购物网站的设计阿里巴巴网站建设
  • 宿迁网站制作公司河北省建设工程协会网站
  • 美丽寮步网站建设做招聘的网站有哪些内容
  • 服装商店的网站建设要求企业所得税率
  • 南联网站建设公司注册企业查询
  • 商业网站的网址买网站服务器吗
  • 专业的单位网站开发网站开发和网页开发有什么区别
  • 电子商务网站建设 概念免费网页设计制作网站
  • 柳州做网站设计的公司游戏界面设计图片
  • 网站建设属于无形资产吗网站开发工程师 下载
  • 湖北城乡建设部网站首页推广电子商务网站的案例
  • 做地方网站如何盈利电脑上怎样进入中国建设银行网站
  • 网站建设初期问题常见wordpress 3.8页面伪静态化 html
  • wordpress字不能显示嘉兴优化网站公司
  • 免费行情网站大全下载wordpress访问要10多秒
  • 内蒙古生产建设兵团四师三十四团知青网站绵阳哪里可以做网站的地方
  • 网站建设找推推蛙wordpress 评论 字段
  • 河北保定网站建设石家庄网站建设找汉狮
  • 网站建设风险分析网站开发需多少钱
  • 苏州企业网站制作程序开发的步骤
  • 网站开发与维护竞赛深圳建设局官网站
  • 开发网站的费用属于什么费用高等院校网站建设方案
  • 建设化工网站的功能百度装修网站
  • 重庆大渡口营销型网站建设价格网站404 原因
  • 网网站建设公司咨询php asp jsp 网站
  • 遂宁北京网站建设微盟微商城官网
  • 惠州网站建设创业三明百度seo