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

优秀企业网站有哪些全屋定制十大名牌价目表

优秀企业网站有哪些,全屋定制十大名牌价目表,关于小说网站的一些建设流程,做网站ppt前言#xff1a; 在学习Javaweb的Servlet文件上传和下载的过程中#xff0c;我们会遇到一个特殊的注解---MultipartConfig。 MultipartConfig的适用情况#xff1a; 1.文件上传: 当您的应用程序需要接收用户上传的文件时#xff0c;可以在相应的 Servlet 上使用 Multipart…前言 在学习Javaweb的Servlet文件上传和下载的过程中我们会遇到一个特殊的注解---MultipartConfig。 MultipartConfig的适用情况 1.文件上传: 当您的应用程序需要接收用户上传的文件时可以在相应的 Servlet 上使用 MultipartConfig 注解。通过使用该注解Servlet 可以方便地解析和处理 multipart/form-data 类型的请求从中提取上传的文件。 2.图片上传: 如果您的应用程序需要用户上传图片例如头像、照片等那么您可以使用 Multipartconfig 注解来处理包含图片文件的表单请求。 3.多媒体内容:如果您的应用程序需要处理包含音频、视频或其他多媒体内容的表单请求您可以使用 Multipartconfig 注解来处理这些请求并提取相应的多媒体文件。 4.表单中的大量数据:有时表单中可能包含大量的字段和数据。在这种情况下Multipartconfig 注解可以帮助您处理这些复杂的表单请求。 以上也许您不想花大量的时间来阅读那么我就用一句简单的话来解释 当您的应用程序需要处理包含文件或其他二进制数据的表单请求时可以使用 MultipartConfig 注解。它使得解析和处理 multipart/form-data 请求变得更加简单和方便。 了解完MultipartConfig注解的适用情况。接下来还是来看看API文档的描述吧。 API文档内容 翻译过来就是 MultipartConfig 注解可以应用于 Servlet 类上用于指示该 Servlet 预期符合 multipart/form-data MIME 类型的请求。这通常用于处理包含文件上传的表单数据。 当一个 Servlet 使用了 MultipartConfig 注解后它可以通过调用 getPart 或 getParts 方法来获取给定 multipart/form-data 请求的各个部分Part 组件。Part 组件代表了上传的文件或其他表单字段的数据。 当然这个注解还有一些属性如下 这里不过多展开这些属性只需要知道它有这几个属性 1.fileSizeThreshold文件大小阈值指定文件在超过该大小阈值后将被写入磁盘 2.location文件存储目录指定文件将存储的目录位置。上传的文件将被存储在该指定的目录中 3.maxFileSize最大文件大小指定允许上传的单个文件的最大大小 4.maxRequestSize最大请求大小指定允许的 multipart/form-data 请求的最大大小。 实例测试 那么还是先来看一下正常的代码与运行结果吧 !doctype html html langenheadmeta charsetUTF-8meta nameviewportcontentwidthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0meta http-equivX-UA-Compatible contentieedgelink href Book_entry.css relstylesheet type text/css /title图书录入系统/title /head body !--书籍名称、出版社、编者、价格、书籍介绍--h2图书录入/h2 divform enctypemultipart/form-data methodpost action../Book_entrylabel for book_name书籍名称: /labelbrinput type text id book_name name book_name placeholder请输入书籍名称brbrlabel for publishing_house出版社: /labelbrinput type text id publishing_house name publishing_house placeholder请输入出版社brbrlabel for editor编者: /labelbrinput type text id editor name editor placeholder请输入编者brbrlabel for Price价格: /labelbrinput type text id Price name Price placeholder请输入价格brbrpinput typecheckbox value social_science name Book_type checked/社会科学input typecheckbox value natural_science name Book_type /自然科学input typecheckbox value philosophy name Book_type /哲学input typecheckbox value novel name Book_type /小说input typecheckbox value art name Book_type /艺术/plabel书籍介绍: /labelbrtextarea namedescription/textareabrbrinput type file id photo name photo placeholder请插入图片input typesubmit value提交/form /div/body /html package com.example;import com.example.Book; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.MultipartConfig; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.Part;import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.UUID;MultipartConfig WebServlet(/Book_entry)public class BookServlet extends HttpServlet {private ListBook books new ArrayList();Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding(utf-8);// 从请求参数中获取书籍信息String book_name request.getParameter(book_name);String publishing_house request.getParameter(publishing_house);String editor request.getParameter(editor);String Price request.getParameter(Price);String bookType request.getParameter(Book_type);String description request.getParameter(description);//获取上传的Part对象Part photo request.getPart(photo);StringBuffer sb new StringBuffer();if(book_name.isBlank())sb.append(必须输入书名);else if(publishing_house.isBlank())sb.append(必须输入出版社);else if(editor.isBlank())sb.append(必须输入作者);else if(Price.isBlank())sb.append(必须输入价格);else if(bookType.isBlank())sb.append(必须输入书的类型);else if(description.isBlank())sb.append(必须输入书籍介绍);else if(photo null)sb.append(必须上传书的封面);// if(sb.length() ! 0) // { // response.getWriter().println(sb); // return; // } // sb.append(书名).append(book_name).append(br); // sb.append(出版社).append(publishing_house).append(br); // sb.append(作者).append(editor).append(br); // sb.append(价格).append(Price).append(br); // sb.append(书类型).append(bookType).append(br); // sb.append(书籍介绍).append(description).append(br);//断言assert photo ! null;InputStream is photo.getInputStream();ByteArrayOutputStream baos new ByteArrayOutputStream();byte[] b new byte[1024];while(is.read(b)0){baos.write(b);}b baos.toByteArray();UUID uuid UUID.randomUUID();String sfn photo.getSubmittedFileName();String suffix sfn.substring(sfn.lastIndexOf(.));FileOutputStream fos new FileOutputStream(D:/photo/ uuid.toString() suffix);fos.write(b);fos.close();String imageUrl D:/photo/ uuid.toString() suffix;// 创建Book对象Book book new Book();book.setTitle(book_name);book.setPublisher(publishing_house);book.setEditor(editor);book.setPrice(Price);book.setDescription(description);// 将书籍信息添加到列表中books.add(book);// 返回成功信息response.setContentType(text/html;charsetutf-8);response.getWriter().println(sb);String head !doctype htmlhtml langenheadmeta charsetUTF-8meta nameviewportcontentwidthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0meta http-equivX-UA-Compatible contentieedgetitle图书信息/titlelink href ./Book_entry.css relstylesheet type text/css//headbody;head h3 style\text-align:center\图书信息/h3;head div;head p书名 book_name /p;head p出版社 publishing_house /p;head p编辑 editor /p;head p价格 Price /p;head p书籍类型 bookType /p;head p描述 description /p;head img src\D:/photo/ uuid.toString() suffix \ alt\书籍封面\;head /div;response.getWriter().println(head);} } 以上便是代码部分 那么来看一下运行的结果 代码是正常运行的 但是如果我们去掉MultipartConfig的注解呢 我们发现从html页面获取的内容为null 调试结果也告诉我们book_name为空了 那么原因如下 如果你在处理包含文件上传的multipart/form-data类型的请求时没有添加MultipartConfig注解request.getParameter()方法无法直接获取文本框input typetext中的内容而会返回null。 这是因为在multipart/form-data类型的请求中表单数据包含了文件和其他文本字段而request.getParameter()方法只能用于获取application/x-www-form-urlencoded编码类型的表单参数值不能直接获取multipart/form-data类型请求中的文本字段的值。 当使用MultipartConfig注解配置Servlet来处理multipart/form-data请求时Servlet容器会根据该注解的配置自动解析请求中的文件和文本字段并将它们作为Part对象提供给开发者使用。 要获取multipart/form-data请求中的文本字段的值你可以使用request.getPart()方法来获取对应的Part对象然后通过Part对象的getInputStream()方法读取文本字段的内容。
http://www.pierceye.com/news/512797/

相关文章:

  • 北沙滩网站建设公司主页怎么填
  • 手机asp网站网站设计方案
  • 长春市网站开发广东一站式网站建设推荐
  • 企业网站推广策略商会联盟网站建设方案
  • 清丰网站建设百度推广建设网站是不是合发
  • 邢台12345网站哪个公司的装饰设计公司
  • 嘉兴网嘉兴网站建设手机网站管理软件
  • 网站主色调简介怎么说本地常州微信网站建设
  • 电子商务网站数据库建设怎样推广一个网站
  • illustrator 学习网站wordpress外链产品
  • 电脑端网站一般做多宽最好网页游戏制作成本
  • 怎样做好手机网站建设wordpress开启xml rpc
  • 泉州企业网站建设公司做外贸要建什么网站
  • 找人做网站价格永城网站设计公司
  • 如何让网站做网页适配深圳市门户网站建设多少钱
  • 中金超钒 网站建设淘客推广方法
  • 网站建设的基本流程域名备案需要哪些资料
  • 怎么查找网站死链怎么自己做微信推送新闻
  • 做网站的人能看到浏览的人的信息吗怎么刷网站权重
  • 有了域名搭建网站详细步骤服务外包有哪些
  • 外贸网站样式传扬互动网站建设公司
  • 企业网站建设需要哪些资料信息免费推广工具
  • 网站怎么更新网页内容如何把自己的产品放到网上卖
  • jQuery网站建设中倒计时代码提高工作效率的重要性
  • 网站建设业务介绍深圳观澜网站建设
  • 最简单的做网站网站开发项目需求文档
  • wordpress网站打开速度小程序搜索排名帝搜sem880官网
  • 台州做网站公司企业网站seo策略
  • 专业网站建设推广网络营销推广方法和手段有哪些
  • 莘县做网站推广2345浏览器官方网站