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

建设工程网站贴吧未来做那些网站致富

建设工程网站贴吧,未来做那些网站致富,加强学校就业信息网站建设和管理,济南百搜科技一、背景 前段时间公司要求我做一个上传和下载固件的页面#xff0c;以备硬件产品在线升级#xff0c;现在我把这部分功能抽取出来作为一个Demo Project给大家分享。 话不多说#xff0c;先看项目演示 -- 演示 源码 二、源码 前端 js库#xff1a;jquery-3.2.1.min.js…一、背景 前段时间公司要求我做一个上传和下载固件的页面以备硬件产品在线升级现在我把这部分功能抽取出来作为一个Demo Project给大家分享。 话不多说先看项目演示 -- 演示  源码 二、源码 前端 js库jquery-3.2.1.min.jsjquery.form.js异步表单提交,jsviews.min.js模板渲染 jsviews科普jsviews是实现MVVM的js库分为JsRender渲染JsViews数据视图双向绑定JsObservable 数据监听有兴趣的同学可以去官网了解这里只用到了渲染的功能。 1、下载页面 index.html !DOCTYPE html html headmeta charsetUTF-8titleajaxSubmit上传/titlelink relshortcut icon hrefimages/favicon.icolink relBookmark hrefimages/favicon.icolink relstylesheet hrefcss/index.css /script typetext/javascript srcjs/jquery-3.2.1.min.js/scriptscript typetext/javascript srcjs/jquery.form.js/scriptscript typetext/javascript srcjs/jsviews.min.js/scriptscript typetext/javascript srcjs/common.js/script/head body h1上传下载Demo/h1 h21、上传文件/h2 form idaddFormdivspan选择类型/spanselect namecode idcodeoption value0普通开关/optionoption value1插座/option/select/divdivspan选择文件小于5k/spaninput typefile idfile namefile/divdivbutton typebutton idaddConfirm nameaddConfirm确定/button/div /form h22、测试上传结果/h2 table idtbBody thead trtd类型/tdtd文件名/tdtd通过Servlet下载/td/tr /thead /table /body script typetext/javascript srcjs/index.js/script !-- jsviews模板 -- script idlistTmpl typetext/x-jsrendertrtd{^{if code0}}普通开关{{else code1}}插座{{else}}数据错误{{/if}}/tdtd{{:fileName}}/tdtda hreffileDownload?fileName{{:fileName}}urlServlet/a/td/tr /script /html 2、公共js js/common.js //获取链接参数 function getQueryString(name) {var reg new RegExp((^|) name ([^]*)(|$));var r window.location.search.substr(1).match(reg);if(r!null)return unescape(r[2]); return null; }  3、 js/index.js //提交表单 function addSubmit(){var options{url: fileUpload,type:post, datatype:json,success: function (data) {var result JSON.parse(data);if(result.code 0000){var pageBarTmpl $.templates(#listTmpl);var html pageBarTmpl.render(result.content);$(#tbBody).append(html);}else{alert(result.desc);}    }}$(#addForm).ajaxSubmit(options); } //提交前检查 function submitCheck(){var code $(#code).val();if (!code) {alert(请选择类型);return false;}var file $(#file).val();if (!file) {alert(请选择需要上传的固件);return false;}return true;} //按钮触发 $(#addConfirm).click(function(){if(submitCheck())addSubmit(); }); 4、css/index.css table th,table td{ border:1px solid black; } form div{margin:5px; }  后端 使用到了commons-fileupload-1.3.1.jarcommons-io-2.4.jar以及gson-2.6.2.jar 1、返回结果类  RspResult.java /*** 返回结果类* author zhang**/ public class RspResult{private String code; //返回码private String desc; //返回描述private MapString,Object content; //返回内容public String getCode() {return code;}public void setCode(String code) {this.code code;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc desc;}public MapString, Object getContent() {return content;}public void setContent(MapString, Object content) {this.content content;}} 2、自定义异常类  MyException.java /*** 自定义异常* author zhang**/ public class MyException extends Exception{private static final long serialVersionUID 3075956744530570774L;private String code; //错误码private String desc; //描述public MyException(String code, String desc) {super();this.code code;this.desc desc;}public String getCode() {return code;}public void setCode(String code) {this.code code;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc desc;} } 3、文件上传Servlet  FileUpload.java /*** 文件上传类* 使用commons-fileupload工具包解析表单内容捕获自定义异常* author zhang**/ public class FileUpload extends HttpServlet{private static final long serialVersionUID -4700695646596658600L;private static final String SAVE_LOCATION /home/www/download/blog/ajaxUpload/; //保存地址 Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException {resp.setCharacterEncoding(UTF-8);RspResult result new RspResult();result.setCode(0000);result.setDesc(success);try {DiskFileItemFactory factory new DiskFileItemFactory();ServletFileUpload upload new ServletFileUpload(factory);upload.setFileSizeMax( 5*1024 ); //单个文件最大上传大小为5kupload.setSizeMax( 5*1024 ); //设置全部文件最大上传总大小为5kupload.setHeaderEncoding(utf-8); //设置编码ListFileItem fileItems upload.parseRequest(req);IteratorFileItem iterator fileItems.iterator();MapString, Object rspConent new HashMap();DiskFileItem fileItem null;//循环读取表单数据while (iterator.hasNext()) {FileItem item iterator.next();if (!item.isFormField()) { //是否为文件类型因为只有一个文件所以单个引用就行fileItem (DiskFileItem) item;}else {rspConent.put(item.getFieldName(), item.getString());}}if(fileItem null)throw new MyException(0001,无选择文件);String fileName fileItem.getName();fileItem.write(new File(SAVE_LOCATION fileName));rspConent.put(fileName, fileName);result.setContent(rspConent);} catch (FileUploadException e ) {result.setCode(0001);result.setDesc(文件上传大小为5k);e.printStackTrace();} catch (MyException e ) { //取得自定义异常结果result.setCode(e.getCode());result.setDesc(e.getDesc());} catch (Exception e) {result.setCode(0001);result.setDesc(未知错误);e.printStackTrace();}finally {PrintWriter out null;try {out resp.getWriter();} catch (IOException e) {e.printStackTrace();}out.write(new Gson().toJson(result));}} } 4、文件下载Servlet  FileDownload.java /*** 文件下载类读取文件以字节流形式写到response* author admin**/ public class FileDownload extends HttpServlet { private static final long serialVersionUID -9135576688701595777L;private final String SAVE_LOCATION /home/www/download/blog/ajaxUpload/; Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException {InputStream in null;try {String fileName req.getParameter(fileName);in new FileInputStream(SAVE_LOCATIONfileName);// 设置输出格式resp.setCharacterEncoding(utf-8);resp.addHeader(Content-Disposition, attachment; filename\ URLEncoder.encode(fileName, UTF-8) \);// 读取数据byte[] b new byte[100];int len 0;while ((len in.read(b)) 0)resp.getOutputStream().write(b, 0, len);} catch (UnsupportedEncodingException e2) {e2.printStackTrace();} catch (FileNotFoundException e1) {e1.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally {try {if(in ! null)in.close();} catch (IOException e) {e.printStackTrace();}}}Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}} 配置 1、项目配置  web.xml ?xml version1.0 encodingUTF-8? web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xmlns:jsphttp://java.sun.com/xml/ns/javaee/jsp xmlns:webhttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd idWebApp_ID version2.5display-nameupload-download-demo/display-namewelcome-file-listwelcome-fileindex.html/welcome-file/welcome-file-listservletservlet-namefileUpload/servlet-nameservlet-classcom.yuejia.servlet.FileUpload/servlet-class/servletservlet-mappingservlet-namefileUpload/servlet-nameurl-pattern/fileUpload/url-pattern/servlet-mappingservletservlet-namefileDownload/servlet-nameservlet-classcom.yuejia.servlet.FileDownload/servlet-class/servletservlet-mappingservlet-namefileDownload/servlet-nameurl-pattern/fileDownload/url-pattern/servlet-mapping /web-app 2、tomcat配置url支持utf-8  server.xml Connector port8080 protocolHTTP/1.1 connectionTimeout20000 redirectPort8443 URIEncodingUTF-8 / 三、总结 本Demo适合一次性上传小文件多数情况下需要先上传文件再进行表单提交视需求而定。 在保存文件建议在文件名后面加上时间戳保证同名文件不会被覆盖。 以上转载于:https://www.cnblogs.com/zhangyuejia/p/8532200.html
http://www.pierceye.com/news/29656/

相关文章:

  • 学做彩票网站酷炫网站首页
  • php语言做网站自己如何免费制作一个网站
  • wordpress主题改字体秦皇岛网络优化招聘
  • p2p网站做牛长沙企业网站建设价格
  • c 网站开发例子seo实战密码第四版pdf
  • 手机号码网站建设柳州做网站的
  • 直播做ppt的网站有哪些11号在线 网站开发
  • 网站维护员获取网站访客qq信息
  • 中小企业官方网站设计平面广告公司
  • 建筑做网站上饶市网站建设
  • 江苏华建建设股份有限公司网站杭州百度
  • 网站建设自助搭配系统wordpress企业版主体
  • html5做网站总结长治网站建设收费多少
  • 无锡工厂网站建设建网站公司都是怎么建设网站的
  • 做国外衣服的网站中国建筑协会证书查询
  • 免费可商用的素材网站ps做景观有哪些素材网站
  • 青岛商家都上什么网站高明网站设计平台
  • 怎么用云主机做网站六安app开发公司
  • 沧州大型网站建设网站建设对策
  • 政务移动门户网站建设红色旅游网页设计
  • 怎么不花钱建网站pos机网站报单怎么做
  • 展示型网站可以优化吗wordpress 底部代码
  • 做网站属于广告费吗wordpress去除warning
  • 找人做网站做的很烂线上商城推广
  • 制作企业网站页面代码摄影 开课吧亚马逊的网络营销方式
  • 有没有做那事的网站福建省建设注册执业管理中心网站
  • 使用什么工具什么步骤完成网站的设计与建设自己做的网站能被百度收录吗
  • 麻城网站建设公司如何做网站给女朋友
  • 外贸网站营销方案两学一做网站视频
  • 济南网站优化培训网站建设与管理实验目的