初识 Spring(23)---(SpringMVC实战--构建学生管理系统(13))

SpringMVC实战--构建学生管理系统(13)

首页部分学生管理页面(添加头像(图像)功能)制作    上篇博客基础上继续开发

(源代码见仓库:https://gitee.com/jianghao233/course

已经完成了保存图片到真实路径,并解决了图片重名问题,但核心问题:将图片保存到数据库中并显示在页面上任未实现

修改代码: 修改 StudentController.java

package com.neuedu.controller;

import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.neuedu.po.TbClass;
import com.neuedu.po.TbStudent;
import com.neuedu.service.ClassService;
import com.neuedu.service.StudentService;
import com.neuedu.utils.UploadUtils;
import com.neuedu.vo.StudentVO;


import oracle.net.aso.s;

@Controller
	@RequestMapping("/student")
	public class StudentController {
		@Autowired
		private ClassService classService;
		@Autowired
		private StudentService studentService;
		@RequestMapping({"/","/list"})
		//查询所有学生信息
		public String list(Model model) {
			List<StudentVO> list = studentService.getList();
			List<TbClass> classes = classService.getList();
			
			model.addAttribute("list",list);
			model.addAttribute("classes",classes);
			return "admin/studentManager";
		}
		@RequestMapping("/save")
		public String save(TbStudent tbStudent,HttpServletRequest request,@RequestParam("fileurl") MultipartFile multipartFile) throws Exception {
			String oldname = multipartFile.getOriginalFilename();
		/*为避免重名带来的图片覆盖问题,修改保存图片的名字	*/
			
			/*1.去掉文件名中的路径信息*/
			String realName = UploadUtils.getRealName(oldname);
			
			/*2.获取一个UUID的名字*/
			String uuidName = UploadUtils.getUUIDName(realName);
			System.out.println(uuidName);
			
			
			/*获取真实路径*/
			String basePath = request.getRealPath("/static/upload");
			
			String dir = UploadUtils.getDir();
			
			File filedir = new File(basePath + dir);
			if(!filedir.exists()) {
				filedir.mkdirs();
			}
			
			/*创建 file 对象,以 basePath 作为目录,以 uuidName 作为文件名,但这是虚拟的,只存在于内存中*/
			File file = new File(filedir,uuidName);
			/*将上传来的图片写入到 file 虚拟路径中*/
			multipartFile.transferTo(file);
			
			String picurl = "/static/upload" + dir + "/" + uuidName;   //修改代码
			tbStudent.setPicurl(picurl);
			studentService.save(tbStudent);
			return "redirect:/student/";
		}
		@RequestMapping("/modify")
		public String modify(TbStudent tbStudent) {
			studentService.update(tbStudent);
			return "redirect:/student/";
		}
		@RequestMapping("/delete")
		public String delete(Integer stuid) {
			studentService.delete(stuid);
			return "redirect:/student/";
		}
	}
	

修改:StudentManager.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/common.css"/>
		<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/cs
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值