🔥作者主页:雨晨源码🔥
💖简介:java、微信小程序、安卓;定制开发,远程调试 代码讲解,文档指导,ppt制作💖
💖文末联系💖
精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻Java精彩实战毕设项目案例
Java精彩新手课设项目案例
小程序精彩项目案例
## 🏆1 开发环境
- 开发语言:Java - 技术:SSM+Bootstrap
- 数据库:MySQL - 架构:B/S - 源码类型: Web
- 编译工具:Idea、Eclipse、MyEclipse (选其一)
- 其他:jdk1.8、Tomcat8.5 、Navica
##🏆 2 功能介绍:四个角色:学生/指导导师/教研室主任/管理员
2.1 学生:登录,我的选题,提交开题报告任务书,提交中期,论文管理,查看个人成绩总评等。
2.2 指导导师:登录,申请课题,查看选题学生,论文管理,学生成绩总评,论文评分等。
2.3 教研室主任:审核导师课题,答辩安排,数据查询,学生总评等。
2.4 管理员:学生管理,教师管理,专业管理,文件管理,成绩比重设置等。
##🏆3 项目功能截图:
3.1代码文件截图
3.2 学生页面:
1. 登录页面
2. 选题
3. 上传论文
3.3 指导教师端页面:
1. 申请课题
2. 查看选题学生
3. 审核任务书
3.4 教研主任端页面:
1. 选题情况可视化
2. 审核课题
3. 答辩安排
4. 学生总评
3.5 管理员端页面:
1. 教师管理
2. 专业管理
3.成绩比重管理
##🏆4 代码实现:
4.1 文件下载代码
/**
* 文件下载
*/
@RequestMapping("/file/filedown.action")
public ResponseEntity<byte[]> downfile(HttpSession session, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String fId = request.getParameter("fId");
ProjBook projBook = null;
Myfile myfile = new Myfile();
long l = Long.parseLong(fId);
myfile = fileService.selectById(l);
String filename = myfile.getfName();
projBook = projBookService.findProjBookByfId(l);
User user =(User) session.getAttribute("USER");
String path = null;
if(user.getRole().equals("学生")) {
System.out.println("进来了");
Student student = (Student) session.getAttribute("USER_INFO");
List<ProjBook> list = projBookService.findProjBookList(projBook, (String) student.getsId());
String tId = list.get(0).gettId();
String tName = list.get(0).gettName();
System.out.println(tId);
System.out.println(tName);
tName = tId;
path = request.getServletContext().getRealPath("/upload/");
path = path + tName + "\\";
}
else if(user.getRole().equals("教师")) {
String tId = request.getParameter("tId");
String tName = request.getParameter("tName");
tName = tId;
path = request.getServletContext().getRealPath("/upload/");
path = path + tName + "\\";
}
System.out.println("地址是 " + path);
// 指定要下载的文件所在路径
ResponseEntity<byte[]> result = null;
try {
// 创建该文件对象
File file = new File(path + File.separator + filename);
// 对文件名编码,防止中文文件乱码
filename = this.getFilename(request, filename);
// 设置响应头
HttpHeaders headers = new HttpHeaders();
// 通知浏览器以下载的方式打开文件
headers.setContentDispositionFormData("attachment", filename);
// 定义以流的形式下载返回文件数据
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
// 使用Sring MVC框架的ResponseEntity对象封装返回下载数据
result = new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK);
} catch (FileNotFoundException e) {
e.printStackTrace();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<script language=\"javascript\">alert('下载失败!')</script>");
} catch (IOException e) {
e.printStackTrace();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.print("<script language=\"javascript\">alert('下载失败!')</script>");
}
return result;
}
以上就是部分功能展示,总的来说:本系统功能完善,界面简捷,数据库设计合理,代码工整,适合学习!!
如需了解,评论区资咨询即可,,点餐收藏评论三连走起呀!!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓如果大家有任何疑虑,请在下方位置详细咨询。