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

wap网站asp源码婚恋网站模板

wap网站asp源码,婚恋网站模板,互联网推广属于什么行业,织梦网站栏目字体怎么调项目场景#xff1a; 作业的发布#xff0c;打回 。 学生端做作业 由作业的state来确定作业是否上交#xff0c;批改#xff0c;打回作业。 实体类的建立#xff0c;还有各种成员变量的设计要满足需求 问题描述 问题#xff1a; 在进行上传作业后#xff0c;老师端…项目场景 作业的发布打回 。 学生端做作业 由作业的state来确定作业是否上交批改打回作业。 实体类的建立还有各种成员变量的设计要满足需求 问题描述 问题 在进行上传作业后老师端批改作业并作出评论这所有的信息我全部都写在一张表里面导致自己的思维有点混乱。这里应该把老师的批改单独建立一张表进行存储数据。 这里建立实体类就是传递数据客户端与服务端的交互数据传值就比乱 原因分析 提示因为状态不同导致有些传值就只有一些有效值存在其它值没有传递但是有时候在后面又会再次使用 比如前面查询时只有id而后面需要一个name这时就需要单独又要去请求一遍 解决方案 实体类作业进行找值还有进行赋值传值就比较方便 package com.test.po;import java.io.Serializable; import java.time.LocalDateTime;public class MyWork implements Serializable {private int id;private int classId;private int student_id;private int state; //1:已提交 2未批改 3:已批改 4已打回private String answer;private String question;private LocalDateTime start_time;private LocalDateTime end_time;private int score;private String StudentName;private String teacher_reply;private String workName;public String getWorkName() {return workName;}public void setWorkName(String workName) {this.workName workName;}public String getTeacher_reply() {return teacher_reply;}public void setTeacher_reply(String teacher_reply) {this.teacher_reply teacher_reply;}public LocalDateTime getStart_time() {return start_time;}public void setStart_time(LocalDateTime start_time) {this.start_time start_time;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getStudentName() {return StudentName;}public void setStudentName(String studentName) {StudentName studentName;}public int getClassId() {return classId;}public void setClassId(int classId) {this.classId classId;}public int getStudent_id() {return student_id;}public void setStudent_id(int student_id) {this.student_id student_id;}public int getState() {return state;}public void setState(int state) {this.state state;}public String getAnswer() {return answer;}public void setAnswer(String answer) {this.answer answer;}public String getQuestion() {return question;}public void setQuestion(String question) {this.question question;}public LocalDateTime getEnd_time() {return end_time;}public void setEnd_time(LocalDateTime end_time) {this.end_time end_time;}public int getScore() {return score;}public void setScore(int score) {this.score score;} }班级资源的下载 当学生点击下载后弹出选择文件地址因为进行下载文件需要文件分片下载并且下载文件时需要单独的线程否则会堵塞。因为采用的长连接最方便的就是采用一个新的socket。 package com.test.controller;import com.test.Util.SocketUtil; import com.test.common.Message; import com.test.common.MessageType; import com.test.po.MyFile; import com.test.po.MyLargerFile; import javafx.application.Platform;import java.io.*; import java.net.Socket; import java.nio.file.Files;public class MyFileRunnable implements Runnable {private Socket socket;private File file;public int state;public int flag 0;public MyFileRunnable(Socket socket, File file) {this.socket socket;this.file file;}Overridepublic void run() {// 假设分片存储目录File storageDirectory new File(file.getParent(), chunks);while (!socket.isClosed()) {try {Message responseMessage SocketUtil.getSocketUtil().getMessage(socket);switch (responseMessage.getMessageType()) {case MessageType.stu_download_file_start - {MyLargerFile myLargerFile (MyLargerFile) responseMessage.getData();MyFile myFile myLargerFile.getMyFile();// 假设分片信息存储在MyFile中包括分片总数和当前分片序号int totalChunks myLargerFile.getTotalSlices();int chunkNumber myLargerFile.getState(); // 假设这个方法存在// 创建分片存储目录if (!storageDirectory.exists()) {storageDirectory.mkdirs();}// 存储分片File chunkFile new File(storageDirectory, chunk_ chunkNumber);myFile.writeFileData(chunkFile);//进行更新uiPlatform.runLater(()-{ControllerManager.stuClassIfoController.stringStuIfoPaneControllerHashMap.get(myLargerFile.getMd5()).update(myLargerFile);});// 检查是否所有分片都已下载if (areAllChunksDownloaded(storageDirectory, totalChunks)) {// 合并分片mergeChunks(storageDirectory, file, totalChunks);System.out.println(文件下载完成);return;}}}} catch (Exception e) {e.printStackTrace();return;}}}private boolean areAllChunksDownloaded(File directory, int totalChunks) {for (int i 1; i totalChunks; i) {File chunkFile new File(directory, chunk_ i);if (!chunkFile.exists()) {return false;}}return true;}private void mergeChunks(File directory, File outputFile, int totalChunks) throws IOException {try (FileOutputStream fos new FileOutputStream(outputFile, true);BufferedOutputStream mergingStream new BufferedOutputStream(fos)) {for (int i 1; i totalChunks; i) {File chunkFile new File(directory, chunk_ i);Files.copy(chunkFile.toPath(), mergingStream);// 删除分片文件如果需要的话 // chunkFile.delete();}}} }这个先进行文件分片的下载当下载完成之后再进行执行合并文件。并关闭这个线程。 服务端进行文件上传我也采用了多线程进行执行上传文件 case MessageType.stu_download_file - {                         MyLargerFile myLargerFile (MyLargerFile) requestMessage.getData();                         String md5 myLargerFile.getMd5();                         MyLargerFile my MyFileDAO.queryFile(md5);                         String dir my.getPath();                         File[] files new File(dir).listFiles();                         if (files null) {                             System.out.println(文件目录不存在);                             return;                         }                         int len files.length;                         Arrays.sort(files, (f1, f2) - {                             // 分割文件名获取分片编号部分                             String[] parts1 f1.getName().split(\\.part);                             String[] parts2 f2.getName().split(\\.part);                             // 提取并解析分片编号                             int part1 Integer.parseInt(parts1[1]);                             int part2 Integer.parseInt(parts2[1]);                             // 比较分片编号                             return Integer.compare(part1, part2);                         });                         new Thread(()-{                             int index 1;                             for (File file : files) {                                 MyFile myFile new MyFile();                                 myFile.readFileData(file);                                 MyLargerFile myLargerFile1 new MyLargerFile();                                 myLargerFile1.setMyFile(myFile);                                 myLargerFile1.setState(index);                                 myLargerFile1.setTotalSlices(len);                                 myLargerFile1.setMd5(md5);                                 Message message new Message();                                 message.setData(myLargerFile1);                                 message.setMessageType(MessageType.stu_download_file_start);                                 try {                                     SocketUtil.getSocketUtil().sendMessage(socket,message);                                 } catch (IOException e) {                                     throw new RuntimeException(e);                                 }                                 index;                             }                         }).start();                     }   在这种情况下进行传递文件数据。然后读写文件。
http://www.w-s-a.com/news/698808/

相关文章:

  • 东莞企业免费模版网站建设一般网站维护要多久
  • 著名建筑设计网站常州制作网站价格
  • 食品营销型网站广东省广州市白云区
  • 如何做网站哪个站推广描述对于营销型网站建设很重要飘红效果更佳
  • 济阳做网站公司99企业邮箱888
  • 国贸做网站的公司能接做网站的活的网站
  • 淮南建设厅网站上杭县建设局网站
  • 东莞做网站公司首选!西安注册公司费用
  • 做网站包括什么卖水果网站模板
  • 扬州网站建设外包wordpress 文章评分
  • 网站建设网站多少钱公司名字大全列表
  • 设计企业网站内容wordpress 投稿者 权限
  • seo网站推广免费价格低的成语
  • 做网站建设销售辛苦吗专题页是什么
  • 做网站的软件名字全拼wordpress可以上传文件吗
  • 建品牌网站公司关于asp_sql网站开发的书籍
  • 建网站公司营销型网站建设wordpress自定义登录页
  • 泉州市住房和城乡建设局网站淘宝店网站怎么做
  • 企业网站建设费未付款怎样挂账长春网站制作专业
  • 深圳找网站建设邹城市建设局网站
  • 长春火车站停运了吗网站开发概要设计
  • 网站开发表格整体页面居中网站域名详解
  • 漕泾网站建设赢展网站建设
  • 医院网站建设的要求毕业了智慧团建密码忘了
  • 网站怎么建设在哪里接单坪山商城网站建设哪家便宜
  • 中山企业网站优化易语言wordpress发布
  • 宜昌网站推广自己怎么做彩票网站吗
  • 英文网站建设 招标网站建设中服务器搭建方式
  • 直播网站建设需要什么软件有哪些室内设计效果图怎么做
  • 宁波网站建设电话网络推广外包一年多少钱