源码获取:俺的博客首页 "资源" 里下载!

项目介绍

车险理赔管理系统源码,分为两个角色,一个管理员,一个普通用户
主要功能说明:
管理员角色包含以下功能:管理员登录,个人资料修改,用户管理,公告管理,快递状态管理,快递品牌管理,快递管理等功能。
用户角色包含以下功能:
用户注册后登录,个人资料管理,公告查看,查看本人的快递等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7等版本均可;

技术栈

1. 后端:Spring springmvc mybatis
2. 前端:JSP+css+javascript+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat

用户管理控制层:

@Controller
@RequestMapping(value = "User")
public class UserController {@Autowiredprivate UserMapper userMapper;@RequestMapping(value = "/login.do")public String login(HttpServletRequest request, User util, Model model) {HttpSession session = request.getSession();String code = (String) session.getAttribute("code");String userCode = request.getParameter("code");if (!code.equals(userCode)) {model.addAttribute("errMsg", "验证码错误");return "../login";}User user = userMapper.getObjectByName(util);if (null == user) {model.addAttribute("errMsg", "登录失败");return "../login";}boolean flag = user.getS_1().equals(util.getS_1());if (!flag) {model.addAttribute("errMsg", "登录失败");return "../login";}session.setAttribute("user_id", user.getId());session.setAttribute("user_type", user.getS_11());session.setAttribute("type1", "admin");session.setAttribute("type2", "admin");session.setAttribute("name", user.getS_2());session.setAttribute("username", user.getS_0());return "../index";}@RequestMapping(value = "/updatepwd.do")public String updatepwd(HttpServletRequest request, User util, Model model) {HttpSession session = request.getSession();int user_id = (Integer) session.getAttribute("user_id");User userTmp = userMapper.getById(user_id);String oldPwd = util.getS_3();String newPwd = util.getS_4();String rePwd = util.getS_5();if (null == oldPwd || "".equals(oldPwd) || null == newPwd|| "".equals(newPwd) || null == rePwd || "".equals(rePwd)) {model.addAttribute("errMsg", "密码信息不能为空");model.addAttribute("util", userTmp);return "User/updatepwd";}if (!newPwd.equals(rePwd)) {model.addAttribute("errMsg", "确认密码不一致");model.addAttribute("util", userTmp);return "User/updatepwd";}if (newPwd.equals(oldPwd)) {model.addAttribute("errMsg", "旧密码不能与新密码一致");model.addAttribute("util", userTmp);return "User/updatepwd";}if (!oldPwd.equals(userTmp.getS_1())) {model.addAttribute("errMsg", "旧密码错误");model.addAttribute("util", userTmp);return "User/updatepwd";}userTmp.setS_1(newPwd);userMapper.update(userTmp);return "User/uppwdok";}@RequestMapping(value = "/updateinfo.do")public String updateinfo(HttpServletRequest request, User util, Model model) {userMapper.update(util);model.addAttribute("util", util);model.addAttribute("errMsg", "个人信息修改成功");return "User/updateinfo";}@RequestMapping(value = "/beforepass.do")public String beforepass(HttpServletRequest request, User util, Model model) {HttpSession session = request.getSession();int user_id = (Integer) session.getAttribute("user_id");util = userMapper.getById(user_id);model.addAttribute("util", util);return "User/updatepwd";}@RequestMapping(value = "/beforeinfo.do")public String beforeinfo(HttpServletRequest request, User util, Model model) {HttpSession session = request.getSession();int user_id = (Integer) session.getAttribute("user_id");util = userMapper.getById(user_id);model.addAttribute("util", util);return "User/updateinfo";}@RequestMapping(value = "/register.do")public String register(HttpServletRequest request, User util, Model model) {HttpSession session = request.getSession();String code = (String) session.getAttribute("code");String userCode = request.getParameter("code");if (!code.equals(userCode)) {model.addAttribute("errMsg", "验证码错误");return "../register";}User user = userMapper.getObjectByName(util);if (null != user) {model.addAttribute("errMsg", "该用户名已经存在");return "../register";}userMapper.insert(util);model.addAttribute("registerMsg", "恭喜您,注册成功!");return "../login";}@RequestMapping(value = "/initPage.do")public String initPage(HttpServletRequest request, Model model) {return "User/saveOrUpdate";}@RequestMapping(value = "/selectList.do")public String selectList(HttpServletRequest request, User util, Model model) {util = userMapper.getById(util.getId());model.addAttribute("util", util);return "User/saveOrUpdate";}@SuppressWarnings({ "rawtypes", "unchecked" })@RequestMapping(value = "/getAllDataInPage.do")public String getAllDataInPage(HttpServletRequest request, User util, Model model) {String field = request.getParameter("field");String fieldValue = request.getParameter("fieldValue");String pageNo = request.getParameter("pageModel.currentPageNo");int currentPageNo = 1;try {fieldValue = new String(fieldValue.getBytes("UTF-8"), "UTF-8");currentPageNo = Integer.parseInt(pageNo);} catch (Exception e) {}List<User> list = userMapper.getList(field, fieldValue);PageModel pageModel = new PageModel();pageModel = pageModel.getUtilByController(list, currentPageNo);model.addAttribute("pageModel", pageModel);model.addAttribute("fieldValue", fieldValue);model.addAttribute("field", field);return "User/find";}@RequestMapping(value = "/deleteManyDataByIds.do")public String deleteManyDataByIds(HttpServletRequest request, User util,Model model) {String ids[] = request.getParameterValues("id");for (String id : ids) {util = new User();util.setId(Integer.parseInt(id));try {userMapper.deleteById(util.getId());} catch (Exception e) {}}return this.getAllDataInPage(request, util, model);}@RequestMapping(value = "/deleteUtil.do")public String deleteUtil(HttpServletRequest request, User util, Model model) {try {userMapper.deleteById(util.getId());} catch (Exception e) {}return this.getAllDataInPage(request, util, model);}@RequestMapping(value = "/saveOrupdate.do")public String saveOrupdate(HttpServletRequest request, User util,Model model) {List<User> list = userMapper.getList("s_0", util.getS_0());if (0 == util.getId()) {if (list.size() > 0) {model.addAttribute("util", util);model.addAttribute("errMsg", "该信息已存在!");return "User/saveOrUpdate";}userMapper.insert(util);} else {if (list.size() > 1) {model.addAttribute("util", util);model.addAttribute("errMsg", "该信息已存在!");return "User/saveOrUpdate";}userMapper.update(util);}return this.getAllDataInPage(request, util, model);}@RequestMapping(value = "/upload.do")public String upload(@RequestParam MultipartFile[] myfiles,HttpServletRequest request, User util, Model model)throws IOException {for (MultipartFile file : myfiles) {if (!file.isEmpty()) {String fileName = file.getOriginalFilename();String path = request.getSession().getServletContext().getRealPath("image")+ File.separator;String uploadName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + fileName;File localFile = new File(path + uploadName);file.transferTo(localFile);util.setS_0(uploadName);util.setS_1(fileName);util.setS_2(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));}if (0 == util.getId()) {userMapper.insert(util);} else {userMapper.update(util);}return this.getAllDataInPage(request, util, model);}return this.getAllDataInPage(request, util, model);}
}

快递管理控制层:

/*** function:MVC的C层,也就是控制层,这个Controller类可以实现对KuaidiManage这个类的控制,接收浏览器发送的请求并处理。KuaidiManage类的具体介绍,在com.edu.model.KuaidiManage类下,本处不在赘述* 本文件和SSM结构的关系:SSM结构的架构就是JSP(浏览器)发送请求,然后请求到对应的Controller,然后Controller调用Service,Service调用Mapper,mapper调用数据库实现增删改查,最后由Controller返回到JSP完成全过程。* 本文件对应Controller,负责表KuaidiManage* 箭头结构:JSP->[Controller]->Service->Mapper->数据库-->JSP* MVC层级划分:本文件在MVC模式中的C层,即控制层*/
@Controller//说明这个文件是MVC三层架构的Controller,加了这个注解之后,spring可以自动扫描到这个类,可以自动对类进行配置,这里也体现使用了spring框架
@RequestMapping(value = "KuaidiManage")//定义请求的路径,路径为KuaidiManage,定义之后,浏览器获取数据就根据这个路径来进行访问,其他的同理,只要有@RequestMapping注解的都是这样
public class KuaidiManageController {//Controller包含在名字中是一种规范@Autowired//自动注入,Spring的注解,这样的话,程序就可以自动把这个类扫进来,不需要手动创建对象private KuaidiManageService kuaidiManageService;//调用数据库mapper,mybatis框架的内容,可以实现增删改查@Autowired//自动注入,Spring的注解,这样的话,程序就可以自动把这个类扫进来,不需要手动创建对象private UserService userService;//调用数据库mapper,mybatis框架的内容,可以实现增删改查@Autowired//自动注入,Spring的注解,这样的话,程序就可以自动把这个类扫进来,不需要手动创建对象private PingpaiService pingpaiService;//调用数据库mapper,mybatis框架的内容,可以实现增删改查@Autowired//自动注入,Spring的注解,这样的话,程序就可以自动把这个类扫进来,不需要手动创建对象private KuaidiStatusService kuaidiStatusService;//调用数据库mapper,mybatis框架的内容,可以实现增删改查@RequestMapping(value = "/initPage.do")//设置添加跳转的页面public String initPage(HttpServletRequest request, Model model) {//在点击添加的时候加载一些预置代码List<User> listUser = userService.getList(null, null);model.addAttribute("listUser", listUser);List<Pingpai> listPingpai = pingpaiService.getList(null, null);model.addAttribute("listPingpai", listPingpai);List<KuaidiStatus> listKuaidiStatus = kuaidiStatusService.getList(null, null);model.addAttribute("listKuaidiStatus", listKuaidiStatus);return "KuaidiManage/saveOrUpdate";//跳转到编辑页面}@RequestMapping(value = "/selectList.do")public String selectList(HttpServletRequest request, KuaidiManage kuaidiManage, Model model) {//获取列表,最后跳转到列表查询页面,获取的是kuaidiManage = kuaidiManageService.getById(kuaidiManage.getId());//获取要更新的对象model.addAttribute("util", kuaidiManage);//传到前台List<User> listUser = userService.getList(null, null);model.addAttribute("listUser", listUser);List<Pingpai> listPingpai = pingpaiService.getList(null, null);model.addAttribute("listPingpai", listPingpai);List<KuaidiStatus> listKuaidiStatus = kuaidiStatusService.getList(null, null);model.addAttribute("listKuaidiStatus", listKuaidiStatus);return "KuaidiManage/saveOrUpdate";//跳转到编辑页面}@SuppressWarnings({ "rawtypes", "unchecked" })@RequestMapping(value = "/getAllDataInPage.do")//获取列表的数据public String getAllDataInPage(HttpServletRequest request, Model model) {String field = request.getParameter("field");String fieldValue = request.getParameter("fieldValue");//当前端有查询的时候,这里的fieldValue就不是空,否则是空try {fieldValue = new String(fieldValue.getBytes("UTF-8"), "UTF-8");//防止乱码} catch (Exception e) {}String pageNo = request.getParameter("pageModel.currentPageNo");//获取当前页码是多少int currentPageNo = 1;//设置初始化页码是1try{currentPageNo = Integer.parseInt(pageNo);//防止前端传的不是数字}catch(Exception e){}List<KuaidiManage> list = kuaidiManageService.getList(field, fieldValue);//获取列表数据List<KuaidiManage> listKuaidiManage = new ArrayList<KuaidiManage>();HttpSession session = request.getSession();int user_id = (Integer) session.getAttribute("user_id");String user_type = (String) session.getAttribute("user_type");for (KuaidiManage temp : list) {if (user_id == temp.getUser().getId()) {listKuaidiManage.add(temp);}}if (!"admin".equals(user_type)) {//list = listKuaidiManage;}PageModel pageModel = new PageModel();pageModel = pageModel.getUtilByController(list, currentPageNo);model.addAttribute("pageModel", pageModel);//查询后,把查询的条件类型回显到jsp中model.addAttribute("fieldValue", fieldValue);//查询后,把查询的关键字回显到jsp中model.addAttribute("field", field);return "KuaidiManage/find";//跳转到find.jsp页面,也就是列表页面,KuaidiManage文件夹下面
}@RequestMapping(value = "/deleteUtil.do")public String deleteUtil(HttpServletRequest request, KuaidiManage kuaidiManage, Model model) {//删除的代码try{kuaidiManageService.deleteById(kuaidiManage.getId());//根据ID删除}catch(Exception e){}return this.getAllDataInPage(request, model);//返回到列表页面,对应admin文件夹下的KuaidiManage文件夹下的find.jsp}@RequestMapping(value = "/deleteManyDataByIds.do")//批量删除                    public String deleteManyDataByIds(HttpServletRequest request, User user,Model model) {                                                 String ids[] = request.getParameterValues("id"); //获取ID的列表              for (String id : ids) {//考虑可能传多个id                                          user = new User();                                             user.setId(Integer.parseInt(id));                             try{kuaidiManageService.deleteById(user.getId());//删除的核心代码}catch(Exception e){}}                                                                return this.getAllDataInPage(request, model);                    }                                                                  @RequestMapping(value = "/saveOrupdate.do")//这里是编辑或者添加的具体代码public String saveOrupdate(HttpServletRequest request, KuaidiManage util, Model model) {List<KuaidiManage> list = kuaidiManageService.getList("fahuo", util.getFahuo());List<User> listUser = userService.getList(null, null);model.addAttribute("listUser", listUser);List<Pingpai> listPingpai = pingpaiService.getList(null, null);model.addAttribute("listPingpai", listPingpai);List<KuaidiStatus> listKuaidiStatus = kuaidiStatusService.getList(null, null);model.addAttribute("listKuaidiStatus", listKuaidiStatus);if (0 == util.getId()) {if (list.size() > 0) {model.addAttribute("util", util);model.addAttribute("errMsg", "该信息已存在!");return "KuaidiManage/saveOrUpdate";}kuaidiManageService.insert(util);} else {if (list.size() > 1) {model.addAttribute("util", util);model.addAttribute("errMsg", "该信息已存在!");return "KuaidiManage/saveOrUpdate";}kuaidiManageService.update(util);}return this.getAllDataInPage(request, model);}@RequestMapping(value = "/export.do")public void export(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {//获取列表,最后跳转到列表查询页面,获取的是Map<String, Object> row2 = new LinkedHashMap<String, Object>();Map<String, Object> row = new LinkedHashMap<String, Object>();String field = request.getParameter("field");String fieldValue = request.getParameter("fieldValue");//当前端有查询的时候,这里的fieldValue就不是空,否则是空try {fieldValue = new String(fieldValue.getBytes("UTF-8"), "UTF-8");//防止乱码} catch (Exception e) {}List<KuaidiManage> list = kuaidiManageService.getList(field, fieldValue);//获取列表数据Class p= KuaidiManage.class;Field[] fields = p.getDeclaredFields();for(KuaidiManage kuaidiManage:list) {for (int j = 0; j < fields.length; j++) {System.out.println(fields[j].getName().toLowerCase());Field declaredField = p.getDeclaredField(fields[j].getName());declaredField.setAccessible(true);
//              Tip tip = declaredField.getAnnotation(Tip.class);//System.out.println(annotation.age()+":"+annotation.name());String name = declaredField.getAnnotation(Tip.class).value();if(name == null){continue;}if(declaredField.getType().toString().equals("class java.lang.String")){row2.put(name, declaredField.get(kuaidiManage));}else if(declaredField.getType().toString().equals("int")){row2.put(name, declaredField.get(kuaidiManage));}if(declaredField.getType().toString().equals("class com.edu.model.User")){row2.put(name, ((User)declaredField.get(kuaidiManage)).getS_0());}if(declaredField.getType().toString().equals("class com.edu.model.Pingpai")){row2.put(name, ((Pingpai)declaredField.get(kuaidiManage)).getName());}if(declaredField.getType().toString().equals("class com.edu.model.KuaidiStatus")){row2.put(name, ((KuaidiStatus)declaredField.get(kuaidiManage)).getName());}}row.putAll(row2);row2 = new LinkedHashMap<String, Object>();}String fileName = Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(0,Thread.currentThread().getContextClassLoader().getResource("").getPath().length()-16)+"/upload/"+UUID.randomUUID().toString()+".xls";ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row);ExcelWriter writer = null;try {writer = ExcelUtil.getWriter(fileName);} catch (Exception e){}try {// 一次性写出内容,使用默认样式,强制输出标题writer.write(rows, true);} catch (Exception e){}try {// 关闭writer,释放内存writer.close();//其实不写这句在功能上也可以,但是为了规范,最好写上} catch (Exception e){}//转码,免得文件名中文乱码
//      fileName = URLEncoder.encode(fileName,"UTF-8");//设置文件下载头response.addHeader("Content-Disposition", "attachment;filename=" + UUID.randomUUID().toString()+".xls");//1.设置文件ContentType类型,这样设置,会自动判断下载文件类型response.setContentType("multipart/form-data");BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());int len = 0;InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));while((len = bis.read()) != -1){out.write(len);out.flush();}out.close();}
}

快递状态管理控制层:

/*** function:MVC的C层,也就是控制层,这个Controller类可以实现对KuaidiStatus这个类的控制,接收浏览器发送的请求并处理。KuaidiStatus类的具体介绍,在com.edu.model.KuaidiStatus类下,本处不在赘述* 本文件和SSM结构的关系:SSM结构的架构就是JSP(浏览器)发送请求,然后请求到对应的Controller,然后Controller调用Service,Service调用Mapper,mapper调用数据库实现增删改查,最后由Controller返回到JSP完成全过程。* 本文件对应Controller,负责表KuaidiStatus* 箭头结构:JSP->[Controller]->Service->Mapper->数据库-->JSP* MVC层级划分:本文件在MVC模式中的C层,即控制层*/
@Controller//说明这个文件是MVC三层架构的Controller,加了这个注解之后,spring可以自动扫描到这个类,可以自动对类进行配置,这里也体现使用了spring框架
@RequestMapping(value = "KuaidiStatus")//定义请求的路径,路径为KuaidiStatus,定义之后,浏览器获取数据就根据这个路径来进行访问,其他的同理,只要有@RequestMapping注解的都是这样
public class KuaidiStatusController {//Controller包含在名字中是一种规范@Autowired//自动注入,Spring的注解,这样的话,程序就可以自动把这个类扫进来,不需要手动创建对象private KuaidiStatusService kuaidiStatusService;//调用数据库mapper,mybatis框架的内容,可以实现增删改查@RequestMapping(value = "/initPage.do")//设置添加跳转的页面public String initPage(HttpServletRequest request, Model model) {//在点击添加的时候加载一些预置代码return "KuaidiStatus/saveOrUpdate";//跳转到编辑页面}@RequestMapping(value = "/selectList.do")public String selectList(HttpServletRequest request, KuaidiStatus kuaidiStatus, Model model) {//获取列表,最后跳转到列表查询页面,获取的是kuaidiStatus = kuaidiStatusService.getById(kuaidiStatus.getId());//获取要更新的对象model.addAttribute("util", kuaidiStatus);//传到前台return "KuaidiStatus/saveOrUpdate";//跳转到编辑页面}@SuppressWarnings({ "rawtypes", "unchecked" })@RequestMapping(value = "/getAllDataInPage.do")//获取列表的数据public String getAllDataInPage(HttpServletRequest request, Model model) {String field = request.getParameter("field");String fieldValue = request.getParameter("fieldValue");//当前端有查询的时候,这里的fieldValue就不是空,否则是空try {fieldValue = new String(fieldValue.getBytes("UTF-8"), "UTF-8");//防止乱码} catch (Exception e) {}String pageNo = request.getParameter("pageModel.currentPageNo");//获取当前页码是多少int currentPageNo = 1;//设置初始化页码是1try{currentPageNo = Integer.parseInt(pageNo);//防止前端传的不是数字}catch(Exception e){}List<KuaidiStatus> list = kuaidiStatusService.getList(field, fieldValue);//获取列表数据PageModel pageModel = new PageModel();pageModel = pageModel.getUtilByController(list, currentPageNo);model.addAttribute("pageModel", pageModel);//查询后,把查询的条件类型回显到jsp中model.addAttribute("fieldValue", fieldValue);//查询后,把查询的关键字回显到jsp中model.addAttribute("field", field);return "KuaidiStatus/find";//跳转到find.jsp页面,也就是列表页面,KuaidiStatus文件夹下面
}@RequestMapping(value = "/deleteUtil.do")public String deleteUtil(HttpServletRequest request, KuaidiStatus kuaidiStatus, Model model) {//删除的代码try{kuaidiStatusService.deleteById(kuaidiStatus.getId());//根据ID删除}catch(Exception e){}return this.getAllDataInPage(request, model);//返回到列表页面,对应admin文件夹下的KuaidiStatus文件夹下的find.jsp}@RequestMapping(value = "/deleteManyDataByIds.do")//批量删除                    public String deleteManyDataByIds(HttpServletRequest request, User user,Model model) {                                                 String ids[] = request.getParameterValues("id"); //获取ID的列表              for (String id : ids) {//考虑可能传多个id                                          user = new User();                                             user.setId(Integer.parseInt(id));                             try{kuaidiStatusService.deleteById(user.getId());//删除的核心代码}catch(Exception e){}}                                                                return this.getAllDataInPage(request, model);                    }                                                                  @RequestMapping(value = "/saveOrupdate.do")//这里是编辑或者添加的具体代码public String saveOrupdate(HttpServletRequest request, KuaidiStatus util, Model model) {List<KuaidiStatus> list = kuaidiStatusService.getList("name", util.getName());if (0 == util.getId()) {if (list.size() > 0) {model.addAttribute("util", util);model.addAttribute("errMsg", "该信息已存在!");return "KuaidiStatus/saveOrUpdate";}kuaidiStatusService.insert(util);} else {if (list.size() > 1) {model.addAttribute("util", util);model.addAttribute("errMsg", "该信息已存在!");return "KuaidiStatus/saveOrUpdate";}kuaidiStatusService.update(util);}return this.getAllDataInPage(request, model);}@RequestMapping(value = "/export.do")public void export(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception {//获取列表,最后跳转到列表查询页面,获取的是Map<String, Object> row2 = new LinkedHashMap<String, Object>();Map<String, Object> row = new LinkedHashMap<String, Object>();String field = request.getParameter("field");String fieldValue = request.getParameter("fieldValue");//当前端有查询的时候,这里的fieldValue就不是空,否则是空try {fieldValue = new String(fieldValue.getBytes("UTF-8"), "UTF-8");//防止乱码} catch (Exception e) {}List<KuaidiStatus> list = kuaidiStatusService.getList(field, fieldValue);//获取列表数据Class p= KuaidiStatus.class;Field[] fields = p.getDeclaredFields();for(KuaidiStatus kuaidiStatus:list) {for (int j = 0; j < fields.length; j++) {System.out.println(fields[j].getName().toLowerCase());Field declaredField = p.getDeclaredField(fields[j].getName());declaredField.setAccessible(true);
//              Tip tip = declaredField.getAnnotation(Tip.class);//System.out.println(annotation.age()+":"+annotation.name());String name = declaredField.getAnnotation(Tip.class).value();if(name == null){continue;}if(declaredField.getType().toString().equals("class java.lang.String")){row2.put(name, declaredField.get(kuaidiStatus));}else if(declaredField.getType().toString().equals("int")){row2.put(name, declaredField.get(kuaidiStatus));}}row.putAll(row2);row2 = new LinkedHashMap<String, Object>();}String fileName = Thread.currentThread().getContextClassLoader().getResource("").getPath().substring(0,Thread.currentThread().getContextClassLoader().getResource("").getPath().length()-16)+"/upload/"+UUID.randomUUID().toString()+".xls";ArrayList<Map<String, Object>> rows = CollUtil.newArrayList(row);ExcelWriter writer = null;try {writer = ExcelUtil.getWriter(fileName);} catch (Exception e){}try {// 一次性写出内容,使用默认样式,强制输出标题writer.write(rows, true);} catch (Exception e){}try {// 关闭writer,释放内存writer.close();//其实不写这句在功能上也可以,但是为了规范,最好写上} catch (Exception e){}//转码,免得文件名中文乱码
//      fileName = URLEncoder.encode(fileName,"UTF-8");//设置文件下载头response.addHeader("Content-Disposition", "attachment;filename=" + UUID.randomUUID().toString()+".xls");//1.设置文件ContentType类型,这样设置,会自动判断下载文件类型response.setContentType("multipart/form-data");BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());int len = 0;InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));while((len = bis.read()) != -1){out.write(len);out.flush();}out.close();}
}

源码获取:俺的博客首页 "资源" 里下载!

Java项目:快递取件管理系统(java+SSM+JSP+jQuery+Mysql)相关推荐

  1. Java项目:SSM快递取件管理系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 快递取件管理系统源码,分为两个角色,一个管理员,一个普通用户 主要功能说明:  管理员 ...

  2. 基于javaweb的水果生鲜超市商城管理系统(java+ssm+jsp+jquery+mysql)

    基于javaweb的水果生鲜超市商城管理系统(java+ssm+jsp+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...

  3. 基于javaweb的个人pc电脑商城系统(java+ssm+jsp+jquery+mysql)

    基于javaweb的个人pc电脑商城系统(java+ssm+jsp+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/mye ...

  4. 基于javaweb的音乐专辑商城系统(java+ssm+jsp+jquery+mysql)

    基于javaweb的音乐专辑商城系统(java+ssm+jsp+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecl ...

  5. Java项目:超市购物商城管理系统(java+SSM+JSP+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,分为普通用户.管理员两种角色.前台普通用户登录,后台管理员登录: 管理员角色包含以下功能: 登录页面,用户查 ...

  6. Java项目:水果生鲜超市商城管理系统(java+SSM+JSP+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录: 管理员角色包含以下功能: 管理员登录,用 ...

  7. Java项目:疫情人员流动管理系统(java+JSP+SSM+Springboot+maven+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统主要实现的功能有: 社区疫情流动人员管理系统,住户管理,出入管理,访客管理,体温录入,高风险警示等等. 二.项目运行 环 ...

  8. Java项目:前台+后台精品图书管理系统(java+SSM+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能包括: 登录注册,办理借阅.借阅记录,预约借阅,借出未还, 借阅逾期,学生管理,图书管理,书库分类查询搜索. 二.项目运行 ...

  9. Java项目:中小医院信息管理系统(java+Springboot+ssm+mysql+maven+jsp)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括:实现了挂号收费,门诊管理,划价收 费,药房取药,体检管理,药房管理,系统维护等各个模块功能,非常不错. 二.项 ...

最新文章

  1. (HDU)1091 --A+B for Input-Output Practice (III)(输入输出练习(III))
  2. 启动mysql 服务 could not find /usr/bin/mysql_safe 解决办法
  3. English learning
  4. 学习_HTML5_day2
  5. 6.1 图的深度优先和广度优先搜索
  6. 创梦天地通过聆讯:上半年经营利润1.3亿 腾讯持股超20%
  7. 基于深度学习的信息抽取技术
  8. 达梦数据库 函数操作
  9. php 什么函数获取ip,php函数获取在线ip与客户端ip
  10. vue前端项目的结构以及组成部分
  11. 百度云 java私塾_JAVA私塾-百度云
  12. c++播放音频( c++ play audio),为C++应用程序添加启动音效
  13. 修改Maven本地仓库路径,IDEA修改maven位置
  14. 夜深人静了,我们来学学分布式锁
  15. 我在CSDN参与的3000个帖子
  16. android判断系统版本号,Android获取手机型号/系统版本号/App版本号等信息实例讲解...
  17. c语言错误 cout不明确,C++ error: cout 不明确的符号
  18. empty:expect的替代
  19. Linux Power supply子系统分析
  20. POE 供电设备原理详解

热门文章

  1. UE4 直接打包图片到目录中,不打包成pak
  2. Vivado使用:综合篇(三)综合属性
  3. 金蝶EAS绿色客户端配置
  4. 在计算机技术指标中mips用来描述,mips用来描述计算机的什么
  5. python爬取头条视频_python 爬取头条视频
  6. mac同时享受教育优惠和免手续费分期
  7. 怎么购买苹果教育优惠产品?苹果在线商店购买教育优惠产品的具体流程
  8. Unity 粒子特效—FX Maker
  9. JZOJ-senior-5952. 【NOIP2018模拟11.5A组】凯旋而归
  10. python中那些双下划线开头的那些函数都是干啥用用的