diff --git a/README.md b/README.md index b313dbb8d0497870eff10e2dbb7122076dedaf8f..919381c3a0247bad017270f38a0d26e6c3595cd0 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ 本应用的作者 _青阳龙野@kohgylw_ 相信:不仅仅是他本人,而是还有很多人都需要在局域网内自己搭建起一个属于个人或团体的网盘服务器系统,这样就可以让所有在同一局域网内的朋友、同事或学生去访问、上传或下载自己网盘上的文件--无论是不足1MB的doc文本,还是超过4GB的1080p视频。而且这种网盘的安装必须十分简单快速,界面要使用中文,且能够完全兼容Windows/Linux/Unix(包括Mac OS X)系统。 -此外,这个网盘还应该想主流的免费网盘一样支持Mp4视频直接在线播放、pdf文档直接预览、图片直接查看功能。 +此外,这个网盘还应该像主流的免费网盘一样支持Mp4视频直接在线播放、pdf文档直接预览、图片直接查看功能。 --实际上,作者最初编写kift的目的就是为了能实现上述功能,毕竟作为老师的他需要时常在班级里分享文件给学生。在他成功弄丢了几次U盘之后,便萌生了利用闲暇时间设计一款这样的应用的想法。 @@ -27,6 +27,14 @@ _注:kift的解压即用版就叫做kiftd_ * 开源免费,您还在担心隐藏代码偷偷挖矿?kift是完全开源的,您可以很轻松地查看它的源代码,也可以将其拷贝下来自行编译部署。爱护用户平台硬件,从开源做起。此外,它不会产生任何遗留,能够做到轻轻地走就如轻轻地来,卸载时绝对不会和你卖萌。 * 使用方便,kiftd的目标是让最小白的用户也能顺利使用它,并避免国外软件带来的文字障碍。 ------------------- +最新讯息: +### kift重大更新:v1.0.1 +_这是kift完全具备完整功能的第一个版本,推荐所有用户更新并体验。_ +新的内容包括: ++ 新增登录控制功能。现在您终于可以设定用户是直接访问主页还是需要先进入登录页面登录后才可访问主页了。本人经过思考后觉得这项功能对于个人用户而言十分重要,能够为个人用户提供更强的隐私性。感谢之前使用邮件提出此建议的使用者。详见《说明文档》。 ++ 新增高效的批量上传、批量下载和批量删除功能。很多kift的用户经常需要大规模地上传、下载文件,现在,kift能够批量上传多个文件,此外也可以对多个文件进行打包下载。当然,还可以将选中的文件一次性删除。详见《说明文档》 ++ 更新版本并保留原有文件的方法现已加入《说明文档》,您可以按照上面的指示来进行更新并保留网盘中原有的文件。 +------------------- ### 只需抽出3分钟时间,您就可以在您自己的电脑上搭建出一个专业快捷的网盘服务器了。 * 马上下载本网盘服务器?请点击右上方绿色按钮“Clone or Download”,之后选择“Download ZIP”进行下载。 diff --git a/webapps/.DS_Store b/webapps/.DS_Store index c988a4073716da5264cc2b4218d43f1c3c9f6a6c..c28b7b8805c0328746e428f1fd000f128c5d8c4c 100644 Binary files a/webapps/.DS_Store and b/webapps/.DS_Store differ diff --git a/webapps/ROOT/.DS_Store b/webapps/ROOT/.DS_Store index 2d4fb5acd161dc0216e228cf6210bfde14de5ade..fd49125f40b46fee7529352e02f930ac3843c537 100644 Binary files a/webapps/ROOT/.DS_Store and b/webapps/ROOT/.DS_Store differ diff --git a/webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.properties b/webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.properties index e1fa32dc9a55bb450309ad081769903abdf94bce..4b5d6ca0e71dc9414998c6d9269d9520333556bb 100644 --- a/webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.properties +++ b/webapps/ROOT/META-INF/maven/kohgylw/KohgylwIFT/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Sun Mar 11 14:57:13 CST 2018 +#Thu Mar 22 15:10:21 CST 2018 version=0.0.1-SNAPSHOT groupId=kohgylw m2e.projectName=KohgylwIFT diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/controller/HomeController.class b/webapps/ROOT/WEB-INF/classes/kohgylw/controller/HomeController.class index 9f86261bc332eef70af0b2ab11645fad86e1d0c9..4037c9f6e7a845a4186368815eeba1901ba0f433 100644 Binary files a/webapps/ROOT/WEB-INF/classes/kohgylw/controller/HomeController.class and b/webapps/ROOT/WEB-INF/classes/kohgylw/controller/HomeController.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/filter/MastLoginFilter.class b/webapps/ROOT/WEB-INF/classes/kohgylw/filter/MastLoginFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..ca0b7a2b3a9cb704387decb00abe5380bd6bfb0f Binary files /dev/null and b/webapps/ROOT/WEB-INF/classes/kohgylw/filter/MastLoginFilter.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/service/FileService.class b/webapps/ROOT/WEB-INF/classes/kohgylw/service/FileService.class index 92f407ea603e8ad1d5c39063b3d38defe8fe8c76..5b1c39d6b95ce169c328d1b6fb9ca57f478c3f68 100644 Binary files a/webapps/ROOT/WEB-INF/classes/kohgylw/service/FileService.class and b/webapps/ROOT/WEB-INF/classes/kohgylw/service/FileService.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$1.class b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7ccdb51fc33b64bcaace7befb6c6d749922476b0 Binary files /dev/null and b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$1.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$2.class b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$2.class new file mode 100644 index 0000000000000000000000000000000000000000..f3f87ce47ddccb002fcede77a2d67a213d4a78e4 Binary files /dev/null and b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$2.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$3.class b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$3.class new file mode 100644 index 0000000000000000000000000000000000000000..a33a1d69be18f9fb857aac03ade8284037a392fd Binary files /dev/null and b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl$3.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl.class b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl.class index 26208d015ea59a5e1e35961457d44d4552380c36..9025e25f40525b338543bf5557e4aa364830600b 100644 Binary files a/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl.class and b/webapps/ROOT/WEB-INF/classes/kohgylw/service/impl/FileServiceImpl.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/test/Test.class b/webapps/ROOT/WEB-INF/classes/kohgylw/test/Test.class new file mode 100644 index 0000000000000000000000000000000000000000..688dc7ec363bd6a32a70aed72d221ced5e704ba5 Binary files /dev/null and b/webapps/ROOT/WEB-INF/classes/kohgylw/test/Test.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/util/ConfigureReader.class b/webapps/ROOT/WEB-INF/classes/kohgylw/util/ConfigureReader.class index a362021b176e732f24b891fb37a1b2b33cce03da..a8e8a15e171992ea2067789a4169be85aad094fb 100644 Binary files a/webapps/ROOT/WEB-INF/classes/kohgylw/util/ConfigureReader.class and b/webapps/ROOT/WEB-INF/classes/kohgylw/util/ConfigureReader.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/util/FileBlockUtil.class b/webapps/ROOT/WEB-INF/classes/kohgylw/util/FileBlockUtil.class index 6a9577575f1353209ac04625095f967c2142555e..cb1b26ccc3080ce685bcb610dfe5338727d2b778 100644 Binary files a/webapps/ROOT/WEB-INF/classes/kohgylw/util/FileBlockUtil.class and b/webapps/ROOT/WEB-INF/classes/kohgylw/util/FileBlockUtil.class differ diff --git a/webapps/ROOT/WEB-INF/classes/kohgylw/util/LogUtil.class b/webapps/ROOT/WEB-INF/classes/kohgylw/util/LogUtil.class index 2c3b0b399f4a1cbffb2a059b4d096f057c35a56d..4a7644971cd9340cb45d702aa18345757827467c 100644 Binary files a/webapps/ROOT/WEB-INF/classes/kohgylw/util/LogUtil.class and b/webapps/ROOT/WEB-INF/classes/kohgylw/util/LogUtil.class differ diff --git a/webapps/ROOT/WEB-INF/web.xml b/webapps/ROOT/WEB-INF/web.xml index 686107684989afef09d482e7a37403776ce1cad1..dff57d48b923de19c03bbb4bb0e1470d590ffe4a 100644 --- a/webapps/ROOT/WEB-INF/web.xml +++ b/webapps/ROOT/WEB-INF/web.xml @@ -17,6 +17,17 @@ /* + + + + MastLoginFilter + kohgylw.filter.MastLoginFilter + + + MastLoginFilter + /* + + diff --git a/webapps/ROOT/css/overrall.css b/webapps/ROOT/css/overrall.css index c1153ef0499488a747d687052aae35ea3653e2d5..1feb9581dbed999db1339a69729496d3dc6f8ca4 100644 --- a/webapps/ROOT/css/overrall.css +++ b/webapps/ROOT/css/overrall.css @@ -1,40 +1,55 @@ @charset "UTF-8"; -.titlebox{ +.titlebox { height: 30px; - line-height:30px; + line-height: 30px; padding-top: 5px; - padding-bottom: 5px; + padding-bottom: 5px; padding-left: 10px; padding-right: 10px; position: relative; bottom: -7px; } -.titletext{ - color:#000000; +.titletext { + color: #000000; font-size: 22px; } -.graytext{ - color:#8b8b8b; +.graytext { + color: #8b8b8b; } -.subtitle{ - color:#5cacee; +.subtitle { + color: #5cacee; text-align: center; } -.rightbtn{ - border-right:10px; +.rightbtn { + border-right: 10px; float: right; margin-left: 10px; } -.heading{ - height:8px; +.heading { + height: 8px; } -.centerText{ +.centerText { text-align: center; +} + +.uploadstatusbox { + color: #9C9C9C; + font-size: 4px; + height: 48px; + overflow: auto; +} + +html { + height: 100%; +} + +body { + height: 100%; } \ No newline at end of file diff --git a/webapps/ROOT/etc/configure.properties b/webapps/ROOT/etc/configure.properties index c7cfc73d3e2a7554c636a7a68e420705106bbb89..eda4415cddfc078f1cb5197ec5d550071feef420 100644 --- a/webapps/ROOT/etc/configure.properties +++ b/webapps/ROOT/etc/configure.properties @@ -29,6 +29,14 @@ auth.admin = cudr #authOverall = none authOverall = l +#[Login and browse home page] +#This setting means visitor could browse file list if not login +#If you want any visitor must log in to entry the home page,you can set this value is N +#(N = no;O = off) +#Example: +#mustLogin = N +mustLogin = O + #[Set the size of the buffer memory for file download by byte] #This value depending on your network speed and your memory size #Example: diff --git a/webapps/ROOT/home.jsp b/webapps/ROOT/home.jsp index 36f3ed8218238a8a0f133944431fdd40a326277a..b91cf3451d17458d0e92bb83c93a3fc2402d9156 100644 --- a/webapps/ROOT/home.jsp +++ b/webapps/ROOT/home.jsp @@ -13,7 +13,7 @@ KIFT - + @@ -45,15 +45,15 @@

OS:加载中...

-
+

- +
- + @@ -235,9 +235,9 @@ <%-- end 修改文件夹模态框 --%> <%-- 上传文件模态框 --%> - "); + ""); } var authList = folderView.authList; var aD = false; @@ -277,10 +304,12 @@ function showFolderTable(folderView) { .each( folderView.fileList, function(n, fi) { - var fileRow = "
文件名文件名 创建日期 大小 创建者
--------
--------
" + fi.fileName + "" - + fi.fileCreationDate + "" - + fi.fileSize + "MB" + fi.fileCreator - + ""; + var fileRow = "
" + fi.fileName + + "" + fi.fileCreationDate + + "" + fi.fileSize + "MB" + + fi.fileCreator + ""; if (aL) { fileRow = fileRow + ""); + $("#dlmbutton").attr('disabled', false); + } + $("#downloadModal").modal('toggle'); +} + +// 下载选中的所有文件 +function downloadAllChecked() { + var checkedfiles = $(".info").get(); + var downloadIdArray = new Array(); + for (var i = 0; i < checkedfiles.length; i++) { + downloadIdArray[i] = checkedfiles[i].id; + } + var strIdList = JSON.stringify(downloadIdArray); + $("#dlmbutton").attr('disabled', true); + $("#downloadFileName").text( + "提示:准备开始下载(共" + checkedfiles.length + "项),请稍候..."); + var t = setTimeout("$('#downloadModal').modal('hide');", 1000); + // POST提交全部下载请求 + var temp = document.createElement("form"); + temp.action = 'homeController/downloadCheckedFiles.do'; + temp.method = "post"; + temp.style.display = "none"; + var sl = document.createElement("input"); + sl.name = 'strIdList'; + sl.value = strIdList; + temp.appendChild(sl); + document.body.appendChild(temp); + temp.submit(); +} + +// 删除选中的所有文件 +function showDeleteAllCheckedModel() { + $('#deleteFileBox').html(""); + var checkedfiles = $(".info").get(); + $("#dfmbutton").attr('disabled', false); + if (checkedfiles.length == 0) { + $('#deleteFileMessage') + .text( + "提示:您还未选择任何文件,请先选中一些文件后再执行本操作(您可以通过点击某一文件行来选中/取消选中文件,也可以通过点击列表上的“文件名”一栏来选中/取消选中所有文件)"); + } else { + $('#deleteFileBox') + .html( + ""); + $('#deleteFileMessage').text( + "提示:确定要彻底删除这" + checkedfiles.length + "项么?该操作不可恢复"); + } + $('#deleteFileModal').modal('toggle'); +} + +// 删除选中的所有文件 +function deleteAllChecked() { + // TODO 提交全部删除请求 + var checkedfiles = $(".info").get(); + var downloadIdArray = new Array(); + for (var i = 0; i < checkedfiles.length; i++) { + downloadIdArray[i] = checkedfiles[i].id; + } + var strIdList = JSON.stringify(downloadIdArray); + $("#dfmbutton").attr('disabled', true); + $('#deleteFileMessage').text("提示:正在删除,请稍候..."); + $.ajax({ + type : "POST", + dataType : "text", + data : { + strIdList : strIdList + }, + url : "homeController/deleteCheckedFiles.ajax", + success : function(result) { + if (result == "mustLogin") { + window.location.href = "login.jsp"; + } else { + if (result == "noAuthorized") { + $('#deleteFileMessage').text("提示:您的操作未被授权,删除失败"); + $("#dfmbutton").attr('disabled', false); + } else if (result == "errorParameter") { + $('#deleteFileMessage').text("提示:参数不正确,未能全部删除文件"); + $("#dfmbutton").attr('disabled', false); + } else if (result == "cannotDeleteFile") { + $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件"); + $("#dfmbutton").attr('disabled', false); + } else if (result == "deleteFileSuccess") { + $('#deleteFileModal').modal('hide'); + showFolderView(locationpath); + } else { + $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件"); + $("#dfmbutton").attr('disabled', false); + } + } + }, + error : function() { + $('#deleteFileMessage').text("提示:出现意外错误,可能未能删除全部文件"); + $("#dfmbutton").attr('disabled', false); + } + }); } \ No newline at end of file diff --git a/webapps/ROOT/js/login.js b/webapps/ROOT/js/login.js new file mode 100644 index 0000000000000000000000000000000000000000..87af87b70b53e8dbe1ff9cbe8fba39fc3148d78d --- /dev/null +++ b/webapps/ROOT/js/login.js @@ -0,0 +1,63 @@ +/** + * login.jsp + */ + +function dologin() { + var accountid = $("#accountid").val(); + var accountpwd = $("#accountpwd").val(); + var check = "y"; + if (accountid.length == 0) { + $("#accountidbox").addClass("has-error"); + check = "n" + } else { + $("#accountidbox").removeClass("has-error"); + } + if (accountpwd.length == 0) { + $("#accountpwdbox").addClass("has-error"); + check = "n" + } else { + $("#accountpwdbox").removeClass("has-error"); + } + if (check == "y") { + $.ajax({ + type : "POST", + dataType : "text", + url : "homeController/doLogin.ajax", + data : { + accountid : accountid, + accountpwd : accountpwd + }, + success : function(result) { + $("#alertbox").removeClass("alert"); + $("#alertbox").removeClass("alert-danger"); + $("#alertbox").text(""); + if (result == "permitlogin") { + $("#accountidbox").removeClass("has-error"); + $("#accountpwdbox").removeClass("has-error"); + window.location.href = "home.jsp"; + } else if (result == "accountnotfound") { + $("#accountidbox").addClass("has-error"); + $("#accountpwdbox").removeClass("has-error"); + $("#alertbox").addClass("alert"); + $("#alertbox").addClass("alert-danger"); + $("#alertbox").text("提示:登录失败,账户不存在或未设置"); + } else if (result == "accountpwderror") { + $("#accountpwdbox").addClass("has-error"); + $("#accountidbox").removeClass("has-error"); + $("#alertbox").addClass("alert"); + $("#alertbox").addClass("alert-danger"); + $("#alertbox").text("提示:登录失败,密码错误或未设置"); + } else { + $("#alertbox").addClass("alert"); + $("#alertbox").addClass("alert-danger"); + $("#alertbox").text("提示:无法登录,未知错误"); + } + }, + error : function() { + $("#alertbox").addClass("alert"); + $("#alertbox").addClass("alert-danger"); + $("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态"); + } + }); + } +} \ No newline at end of file diff --git a/webapps/ROOT/login.jsp b/webapps/ROOT/login.jsp new file mode 100644 index 0000000000000000000000000000000000000000..1a5f4ed5cbdc407d81d3fac708ea6c4ecf9b4d29 --- /dev/null +++ b/webapps/ROOT/login.jsp @@ -0,0 +1,82 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + +KIFT + + + + + + + <%-- 中央布局 --%> +
+ + <%-- 头部 --%> +
+
+
+ 青阳网络文件传输系统 KIFT +
+
+
+
+ <%-- end 头部 --%> + + <%-- 主体 --%> +
+
+

+ 欢迎使用青阳网络文件传输系统KIFT

+

+ 您需要登录以进入系统

+
+
+

请登录

+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+ <%-- end 主体 --%> + +
+ <%-- end 中央布局 --%> + + + + + \ No newline at end of file diff --git a/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.class b/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.class index 625046fa896c5a8caf281d0b0b84a5022337ebac..50ea332abfcf8565392d02189889a6bad50af3c9 100644 Binary files a/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.class and b/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.class differ diff --git a/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.java b/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.java index efe823f6e31b13bb73eb87721b9f7b0a3f6a229d..b19454e27a1fe9958d34749d12ddf672892c1bf3 100644 --- a/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.java +++ b/work/Catalina/localhost/ROOT/org/apache/jsp/home_jsp.java @@ -1,7 +1,7 @@ /* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/9.0.0.M17 - * Generated at: 2018-02-23 05:54:41 UTC + * Generated at: 2018-03-22 07:13:38 UTC * Note: The last modified time of this file was set to * the last modified time of the source file after * generation to assist with modification tracking. @@ -123,7 +123,7 @@ public final class home_jsp extends org.apache.jasper.runtime.HttpJspBase out.write("\n"); out.write("KIFT\n"); out.write("\n"); - out.write("\n"); + out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); @@ -159,15 +159,15 @@ public final class home_jsp extends org.apache.jasper.runtime.HttpJspBase out.write("\t\t\t\t

\n"); out.write("\t\t\t\t\tOS:加载中...\n"); out.write("\t\t\t\t

\n"); - out.write("\t\t\t\t
\n"); + out.write("\t\t\t\t
\n"); out.write("\t\t\t\t\t\n"); out.write("\t\t\t\t\t
\n"); out.write("\t\t\t\t\t\t

\n"); out.write("\t\t\t\t\t
\n"); - out.write("\t\t\t\t\t\n"); + out.write("\t\t\t\t\t
\n"); out.write("\t\t\t\t\t\t\n"); out.write("\t\t\t\t\t\t\t\n"); - out.write("\t\t\t\t\t\t\t\t\n"); + out.write("\t\t\t\t\t\t\t\t\n"); out.write("\t\t\t\t\t\t\t\t\n"); out.write("\t\t\t\t\t\t\t\t\n"); out.write("\t\t\t\t\t\t\t\t\n"); @@ -362,9 +362,9 @@ public final class home_jsp extends org.apache.jasper.runtime.HttpJspBase out.write('\n'); out.write(' '); out.write("\n"); - out.write("\t
\n"); - out.write("\t\t
\n"); + out.write("\t
\n"); + out.write("\t\t
\n"); out.write("\t\t\t
\n"); out.write("\t\t\t\t
\n"); out.write("\t\t\t\t\t
\n"); out.write("\t\t\t\t
\n"); - out.write("\t\t\t\t\t
选择文件:
\n"); + out.write("\t\t\t\t\t
选择文件:
\n"); out.write("\t\t\t\t\t \n"); - out.write("\t\t\t\t\t
\n"); - out.write("\t\t\t\t\t
上传进度:
\n"); + out.write("\t\t\t\t\t\tid=\"uploadfile\" style=\"display: none;\" onchange=\"showfilepath()\"\n"); + out.write("\t\t\t\t\t\tmultiple=\"multiple\">
\n"); + out.write("\t\t\t\t\t
\n"); + out.write("\t\t\t\t\t\t上传进度:\n"); + out.write("\t\t\t\t\t
\n"); out.write("\t\t\t\t\t
\n"); out.write("\t\t\t\t\t\t
\n"); - out.write("\t\t\t\t\t\t\t0% Complete\n"); + out.write("\t\t\t\t\t\t\t\n"); + out.write("\t\t\t\t\t\t
\n"); + out.write("\t\t\t\t\t
\n"); + out.write("\t\t\t\t\t
上传状态:
\n"); + out.write("\t\t\t\t\t
\n"); + out.write("\t\t\t\t\t\t
\n"); + out.write("\t\t\t\t\t\t\t
\n"); out.write("\t\t\t\t\t\t
\n"); out.write("\t\t\t\t\t
\n"); out.write("\t\t\t\t\t
\n"); out.write("\t\t\t\t
\n"); out.write("\t\t\t\t
\n"); - out.write("\t\t\t\t\t\n"); + out.write("\t\t\t\t\t\n"); out.write("\t\t\t\t\t\n"); out.write("\t\t\t\t
\n"); @@ -496,7 +505,7 @@ public final class home_jsp extends org.apache.jasper.runtime.HttpJspBase out.write("\n"); out.write("\n"); out.write("\n"); - out.write("\n"); + out.write("\n"); out.write(""); } catch (java.lang.Throwable t) { if (!(t instanceof javax.servlet.jsp.SkipPageException)){ diff --git "a/~$\350\257\264\346\230\216\346\226\207\346\241\243.docx" "b/~$\350\257\264\346\230\216\346\226\207\346\241\243.docx" new file mode 100644 index 0000000000000000000000000000000000000000..649be5e860c01da8f1afb5cb8ccbff10009a10fb Binary files /dev/null and "b/~$\350\257\264\346\230\216\346\226\207\346\241\243.docx" differ diff --git "a/\350\257\264\346\230\216\346\226\207\346\241\243.pdf" "b/\350\257\264\346\230\216\346\226\207\346\241\243.pdf" index 374ece0c013fd4b3eac0bac8035f7f293202c9f0..5bac1cd2f5d130860f6881091a97881d85ff8815 100644 Binary files "a/\350\257\264\346\230\216\346\226\207\346\241\243.pdf" and "b/\350\257\264\346\230\216\346\226\207\346\241\243.pdf" differ
文件名文件名创建日期大小创建者