博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,适合选题:爱心、慈善、捐献、捐赠等。
1. 用户信息管理:管理员可对该系统的用户信息进行管理与维护。
2. 公益新闻管理:管理员进入系统对公益新闻信息进行管理与维护。
3. 求助信息管理:管理员通过系统在线管理系统的求助信息。并对求助信息进行在线审核。
4. 捐款记录管理:管理员通过系统在线管理系统用户的捐款信息。管理员及时对捐款信息做出反馈。
5. 活动管理:管理员通过系统在线管理活动信息。管理员可在线发布活动。
6. 个人信息管理:用户可对个人信息进行修改与维护,对个人基本资料进行更新,对账号密码信息进行更改。
7报名管理:管理员通过系统在线管理系统的报名信息。并对报名信息进行在线审核。
后端:SSM整合
前端:bootstrap、js、css等
开发工具:eclipse
数据库:mysql 5.7
JDK版本:jdk1.8
服务器:tomcat8
下面是用户首页
可以查看已发布的公益新闻
活动列表,查看已发布的活动
活动详情
用户可以进行登陆
后台登录
登录后是管理员,可以对用户维护
对活动的报名进行维护
对捐款记录进行维护
对评价进行管理
求助管理
评价信息,管理员进行管理
- @RequestMapping("list")
- public String list(Integer page, Integer limit,String content,Model model,
- HttpSession session) {
- PageBean pageBean=new PageBean();
- if(page==null){
- page=1;
- }
- QueryWrapper<Question> wrapper = new QueryWrapper<Question>();
- if (!StringUtils.isEmpty(content)) {
- wrapper.like("content", content);
- model.addAttribute("content", content);
- }
- Integer role=(Integer)session.getAttribute("role");
- if(role!=null && role==1){
- Users users=(Users)session.getAttribute("users");
- wrapper.eq("uid", users.getId());
- }
- wrapper.eq("isdel", 0);
- wrapper.orderByDesc("id");
- IPage<Question> pageList = new Page<Question>(pageBean.getPageNo(), pageBean.getPageSize());
- pageList = questionService.page(pageList, wrapper);
- List<Question> list = pageList.getRecords();
- // 关联对象
- for (Question m : list) {
- Users u = usersService.getById(m.getUid());
- m.setUsers(u);
- }
- // 会自动查出总条数
- int count = (int) pageList.getTotal();
- pageBean.setTotalCount(count);
- model.addAttribute("pageBean", pageBean);
- model.addAttribute("list", list);
- return "admin/question";
- }
-
- @RequestMapping("index")
- public String index(Integer page,String name,Integer id,Model model,HttpServletRequest request) {
- PageBean pageBean=new PageBean();
- if(page!=null){
- pageBean.setPageNo(page);
- }
- pageBean.setPageSize(4);
- QueryWrapper<Question> wrapper = new QueryWrapper<Question>();
- wrapper.eq("isdel", 0);
- wrapper.orderByDesc("id");
- IPage<Question> pageList = new Page<Question>(pageBean.getPageNo(),pageBean.getPageSize());
- pageList = questionService.page(pageList, wrapper);
- List<Question> list = pageList.getRecords();
- // 关联对象
- for (Question m : list) {
- Users u = usersService.getById(m.getUid());
- m.setUsers(u);
- //回复
- QueryWrapper<Reply> qwrapper=new QueryWrapper<Reply>();
- qwrapper.eq("pid", m.getId());
- qwrapper.eq("type", 2);
- List<Reply> replys=replyService.list(qwrapper);
- for (Reply r : replys) {
- Users ru = usersService.getById(r.getUid());
- r.setUsers(ru);
- }
- m.setReplys(replys);
- }
- // 会自动查出总条数
- int count = (int) pageList.getTotal();
- pageBean.setTotalCount(count);
- model.addAttribute("pageBean", pageBean);
- model.addAttribute("list", list);
- if(id==null){
- id=0;
- }
- model.addAttribute("id", id);
- return "questionList";
-
- }
- @RequestMapping("detail")
- public String detail(Integer id, Model model, HttpServletRequest request) {
- Question m = questionService.getById(id);
- Users u = usersService.getById(m.getUid());
- m.setUsers(u);
- QueryWrapper<Reply> rwrapper = new QueryWrapper<Reply>();
- rwrapper.eq("pid", m.getId());
- List<Reply> replys = replyService.list(rwrapper);
- for (Reply r : replys) {
- Users ru = usersService.getById(r.getUid());
- r.setUsers(ru);
- }
- m.setReplys(replys);
- model.addAttribute("question", m);
- return "questionDetail";
- }
-
- @RequestMapping("admindetail")
- public String admindetail(Integer id, Model model, HttpServletRequest request) {
- Question m = questionService.getById(id);
- Users u = usersService.getById(m.getUid());
- m.setUsers(u);
- QueryWrapper<Reply> rwrapper = new QueryWrapper<Reply>();
- rwrapper.eq("pid", m.getId());
- List<Reply> replys = replyService.list(rwrapper);
- for (Reply r : replys) {
- Users ru = usersService.getById(r.getUid());
- r.setUsers(ru);
- }
- m.setReplys(replys);
- model.addAttribute("question", m);
- return "admin/questionDetail";
- }
- @RequestMapping("add")
- @ResponseBody
- public ServerResponse<Question> add(Question question) {
- question.setIsdel(0);
- question.setOptime(Const.getFullTime());
- boolean flag=questionService.save(question);
- if(flag){
- return new ServerResponse<Question>("0", "操作成功!");
- }else{
- return new ServerResponse<Question>("1", "操作失败!");
- }
- }
-
- @RequestMapping("update")
- @ResponseBody
- public ServerResponse<Question> update(Question question) {
- boolean flag = questionService.updateById(question);
- if (flag) {
- return new ServerResponse<Question>("0", "操作成功!");
- } else {
- return new ServerResponse<Question>("1", "操作失败!");
- }
- }
-
-
- @RequestMapping("delete")
- @ResponseBody
- public ServerResponse<Question> delete(Question question) {
- question.setIsdel(1);
- boolean flag = questionService.updateById(question);
- if (flag) {
- return new ServerResponse<Question>("0", "删除成功!");
- } else {
- return new ServerResponse<Question>("1", "删除失败!");
- }
- }
下面是上传图片的核心代码:
- @RequestMapping(value="/upload", produces = "text/html; charset=utf-8")
- @ResponseBody
- public String upload(MultipartFile file, HttpServletRequest request,HttpServletResponse response) throws IOException {
- //传到服务器
- //得到真实路径
- String path=request.getSession().getServletContext().getRealPath("/images");
- //目标文件
- //目标文件
- String fileName=path+"\\"+file.getOriginalFilename();
- fileName=URLDecoder.decode(fileName, "UTF-8");
- file.transferTo(new File(fileName));
- System.out.print("名字:"+file.getOriginalFilename());
- return file.getOriginalFilename();
- }
-
- @RequestMapping("/upfile")
- @ResponseBody
- public JSONObject upfile(MultipartFile file, HttpServletRequest request,HttpServletResponse response) throws IOException {
- //传到服务器
- //得到真实路径
- String path=request.getSession().getServletContext().getRealPath("/images");
- //目标文件
- String fileName=path+"\\"+file.getOriginalFilename();
- fileName=URLDecoder.decode(fileName, "UTF-8");
-
- file.transferTo(new File(fileName));
- JSONObject result=new JSONObject();
- result.put("errno", 0);
- JSONArray data=new JSONArray();
- data.add(Const.ROOT+"images/"+file.getOriginalFilename());
- result.put("data", data);
- result.put("filename",file.getOriginalFilename());
- return result;
- }
-
- @RequestMapping(value="/download")
- public ResponseEntity<byte[]> download(HttpServletRequest request,
- @RequestParam("filename") String filename,
- Model model)throws Exception {
- //下载文件路径
- //String path = request.getSession().getServletContext().getRealPath("/images/");
- String path=request.getSession().getServletContext().getRealPath("/images");
- //找到服务器里面的中文文件,Tomcat8就不需要
- //filename = new String(filename.getBytes("iso-8859-1"),"UTF-8");
- String truepath=URLDecoder.decode(path + File.separator + filename, "UTF-8");
- File file = new File(truepath);
- HttpHeaders headers = new HttpHeaders();
- //通知浏览器以attachment(下载方式)打开图片,所有浏览器都会使用本地编码,即中文操作系统使用GBK
- //下载框中显示的文件名,解决中文名称乱码问题
- headers.setContentDispositionFormData("attachment", new String(filename.getBytes("GBK"),"iso-8859-1"));
- //application/octet-stream : 二进制流数据(最常见的文件下载)。
- headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
- return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),
- headers, HttpStatus.CREATED);
- }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~