日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Review学生作业管理系统

發布時間:2025/3/21 windows 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Review学生作业管理系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讓后臺立即響應前端,前端不等待處理過程

描述:學生作業管理系統里面有一個郵件提醒的功能,如果不加以處理前端就會一直等待返回結果不會彈出發送成功的提示,直到郵件已經發送出去。
1、使用try{}finally{}(會快一點)

try{return ApiResult.success("發送成功"); }finally{//發送郵件代碼... }

使用try{}finally{}語句,讓try語句直接先返回結果,最后才執行發送郵件代碼。

2、使用多線程(秒返回結果)

new thread(()->{//發送郵件代碼... }).start(); return ApiResult.success("發送成功");

原本由main線程執行的發送郵件代碼交給其他線程處理,main線程直接返回結果。

讓頁面加載完成就立即發送Ajax請求

$(document).ready(function () { //此處頁面打開即請求api$.ajax({type: 'GET',url: '/ssm/homework/getHomeWork',dataType: "json",async: false,success: function (data) {}}});});

以前一直要刷新幾次才顯示數據出來,原來是要加async:false把異步請求變為同步請求,以前一直以為加了$(document).ready()就可以加載出來。Ajax參數詳解

SpringBoot熱部署

在pom.xml加入spring-boot-devtools

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional> </dependency>

如果改完代碼需要按Ctrl + Shift + F9才可以完成熱部署,以前只知道devtools可以用來熱部署。SpringBoot 在IDEA中實現熱部署

413 (Request Entity Too Large)

在上傳文件是報出413
修改Nginx的配置文件

server { ... client_max_body_size 20m; ... }

還可以修改tomcat的配置文件(在application.properties修改)

server.tomcat.max-http-form-post-size=-1

設置post請求的最大容量為不限

優化SQL

創建索引

優化limit語句

select * from operation_log 1 limit 3000000 , 10;

select * from operation_log t , (select id from operation_log order by id limit
3000000,10) b where t.id = b.id ;

文件下載方式

1、利用springmvc提供的ResponseEntity類型,使用它可以很方便地定義返回的HttpHeaders和HttpStatus。(單個文件)

@RequestMapping("/download") public ResponseEntity<byte[]> export(String fileName,String filePath) throws IOException { HttpHeaders headers = new HttpHeaders(); File file = new File(filePath);headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", fileName); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.CREATED); }

2、多文件下載打包成zip包

//批量文件壓縮后下載@RequestMapping("/downLoad2")public ResponseEntity<byte[]> download2(HttpServletRequest request) throws IOException {//需要壓縮的文件List<String> list = new ArrayList<String>();list.add("test.txt");list.add("test2.txt");//壓縮后的文件String resourcesName = "test.zip";ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("D:/"+resourcesName));InputStream input = null;for (String str : list) {String name = "D:/"+str;input = new FileInputStream(new File(name)); zipOut.putNextEntry(new ZipEntry(str)); int temp = 0; while((temp = input.read()) != -1){ zipOut.write(temp); } input.close();}zipOut.close();File file = new File("D:/"+resourcesName);HttpHeaders headers = new HttpHeaders();String filename = new String(resourcesName.getBytes("utf-8"),"iso-8859-1");headers.setContentDispositionFormData("attachment", filename);headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers,HttpStatus.CREATED);}

前端代碼:
1、使用Ajax請求

<button type="button" onclick="download()">導出</button> function download() {var url = 'download/?filename=aaa.txt';var xhr = new XMLHttpRequest();xhr.open('GET', url, true); // 也可以使用POST方式,根據接口xhr.responseType = "blob"; // 返回類型blob// 定義請求完成的處理函數,請求前也可以增加加載框/禁用下載按鈕邏輯xhr.onload = function () {// 請求完成if (this.status === 200) {// 返回200var blob = this.response;var reader = new FileReader();reader.readAsDataURL(blob); // 轉換為base64,可以直接放入a表情hrefreader.onload = function (e) {// 轉換完成,創建一個a標簽用于下載var a = document.createElement('a');a.download = 'data.xlsx';a.href = e.target.result;$("body").append(a); // 修復firefox中無法觸發clicka.click();$(a).remove();}}};// 發送ajax請求xhr.send() }

2、使用隱藏表單提交(推薦)

var form = $("<form>"); form.attr("style","display:none"); form.attr("target",""); form.attr("method","post"); form.attr("action",rootPath + "T_academic_essay/DownloadZipFile.do"); var input1 = $("<input>"); input1.attr("type","hidden"); input1.attr("name","strZipPath"); input1.attr("value",strZipPath); $("body").append(form); form.append(input1); form.submit(); form.remove();

總結

以上是生活随笔為你收集整理的Review学生作业管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月天黄色小说 | 91人人澡人人爽人人精品 | 91国产精品| 日日干夜夜干 | 泰剧19禁啪啪无遮挡 | 女同性做爰全过程 | 操久久久 | 无码国产精品久久一区免费 | 免费看黄在线看 | 免费黄色三级网站 | 高清一级片 | 国产精品综合一区二区 | 91精品国产欧美一区二区成人 | 国产一区二区激情视频 | 二级黄色片 | 99毛片| 国产精品高清无码在线观看 | 国产又大又黑又粗免费视频 | 国模av | 欧美精品18videosex性欧美 | 亚洲男女视频 | 九九人人 | 婷婷午夜天| 91成人短视频在线观看 | 国产真实乱人偷精品 | 狠狠搞av | 欧美一级片在线播放 | 亚洲精品九九 | 老鸭窝久久 | 国产精品三区在线观看 | 国产精品久久国产精品99 | av日日操| tube国产麻豆 | 日b免费视频 | 国产 日韩 欧美 在线 | 久久久久国产精品熟女影院 | 日本三级免费网站 | www性| 杨幂毛片午夜性生毛片 | 中国美女一级片 | 色无极亚洲影院 | 全黄性性激高免费视频 | 国产男男网站 | 一二三不卡视频 | 色综合久久久无码中文字幕波多 | 亚洲色图 校园春色 | 欧美资源站 | 香蕉av一区 | 青青草视频免费播放 | 久草成人在线视频 | 国产三级精品在线观看 | 久久丝袜美腿 | 国产免费又黄又爽又色毛 | 高清免费av | 亚洲婷婷免费 | 亚洲第一av在线 | 欧美色图3p | 91在线视频导航 | 97超碰站 | 成人精品一区二区三区视频 | 亚洲成人av网址 | 正在播放经典国语对白 | 波多野结衣中文字幕一区 | 日韩欧美在线中文字幕 | 国产高潮在线观看 | 日日操狠狠操 | 女上男下动态图 | 国产欧美一区二区三区视频在线观看 | 在线视频一区二区 | 99re6热在线精品视频播放 | 好吊操这里只有精品 | 午夜污污 | 热久久91 | 日韩一级片网址 | 尤物网在线 | 日本wwwxx | 免费看日韩av | 双乳被四个男人吃奶h文 | 精品少妇人妻av免费久久久 | 亚洲精品第二页 | 一区二区三区在线观看视频 | 久热av在线 | 天天摸天天碰天天爽天天弄 | 法国空姐在线观看视频 | 青青草精品 | 精品欧美一区二区久久久 | 日本不卡视频在线播放 | 国产免费视频 | 精产国品一区二区三区 | 久久久影院 | 欧美性大战久久久久久久蜜桃 | www,五月天,com | 成人精品视频在线播放 | 国产最新精品视频 | 日本不卡视频一区二区三区 | 国产欧美一区二区三区免费看 | 熟妇人妻系列aⅴ无码专区友真希 | 成人免费高清在线观看 | 奇米99 |