失物招领|基于Web的校园失物招领系统的设计与实现(二)

简介: 失物招领|基于Web的校园失物招领系统的设计与实现

失物招领|基于Web的校园失物招领系统的设计与实现(一)https://developer.aliyun.com/article/1423254


四,核心代码展示

package com.znz.ssm.blog.controller.admin;
import com.znz.ssm.blog.entity.Category;
import com.znz.ssm.blog.service.ArticleService;
import com.znz.ssm.blog.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
/**
 * @author znz
 */
@Controller
@RequestMapping("/admin/category")
public class BackCategoryController {
    @Autowired
    private ArticleService articleService;
    @Autowired
    private CategoryService categoryService;
    /**
     * 后台分类列表显示
     *
     * @return
     */
    @RequestMapping(value = "")
    public ModelAndView categoryList()  {
        ModelAndView modelandview = new ModelAndView();
        List<Category> categoryList = categoryService.listCategoryWithCount();
        modelandview.addObject("categoryList",categoryList);
        modelandview.setViewName("Admin/Category/index");
        return modelandview;
    }
    /**
     * 后台添加分类提交
     *
     * @param category
     * @return
     */
    @RequestMapping(value = "/insertSubmit",method = RequestMethod.POST)
    public String insertCategorySubmit(Category category)  {
        categoryService.insertCategory(category);
        return "redirect:/admin/category";
    }
    /**
     * 删除分类
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/delete/{id}")
    public String deleteCategory(@PathVariable("id") Integer id)  {
        //禁止删除有文章的分类
        int count = articleService.countArticleByCategoryId(id);
        if (count == 0) {
            categoryService.deleteCategory(id);
        }
        return "redirect:/admin/category";
    }
    /**
     * 编辑分类页面显示
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/edit/{id}")
    public ModelAndView editCategoryView(@PathVariable("id") Integer id)  {
        ModelAndView modelAndView = new ModelAndView();
        Category category =  categoryService.getCategoryById(id);
        modelAndView.addObject("category",category);
        List<Category> categoryList = categoryService.listCategoryWithCount();
        modelAndView.addObject("categoryList",categoryList);
        modelAndView.setViewName("Admin/Category/edit");
        return modelAndView;
    }
    /**
     * 编辑分类提交
     *
     * @param category 分类
     * @return 重定向
     */
    @RequestMapping(value = "/editSubmit",method = RequestMethod.POST)
    public String editCategorySubmit(Category category)  {
        categoryService.updateCategory(category);
        return "redirect:/admin/category";
    }
}
package com.czmec.action;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.czmec.bean.WordsBean;
import com.czmec.service.WordsService;
//用户操作
@Controller
@RequestMapping("userAction")
public class UserAction {
  @Resource
  WordsService wordsservice;
  //主页面
  @RequestMapping("main")
  public String UserMain(){
    return "main";
  }
  //感恩
  @RequestMapping("WordsList")
  public String WordsList(HttpServletRequest request){
   List<WordsBean> list=  wordsservice.SelectAllWords();
   System.out.println(list);
   request.setAttribute("wordslist",list);
    return "WordsList";
  }
  //添加一条感恩信
  @RequestMapping("addWords")
  public String AddWords(WordsBean wBean,HttpServletRequest request){
     wordsservice.AddWords(wBean);
    List<WordsBean> list= wordsservice.SelectAllWords();
     System.out.println(list);
     request.setAttribute("wordslist",list);
      return "WordsList";
  }
  //删除一条感恩信
    @RequestMapping("DelWords")
    public String DelWords(WordsBean wBean,HttpServletRequest request){
      wordsservice.DelWords(wBean);
      List<WordsBean> list= wordsservice.SelectAllWords();
       System.out.println(list);
       request.setAttribute("wordslist",list);
        return "WordsList";
    }
}
package com.czmec.action;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.List;
import java.util.Random;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.czmec.bean.UserBean;
import com.czmec.service.AdminService;
import com.czmec.service.UserService;
/*
 * 用户登录action
 */
@Controller
@RequestMapping("user")
public class UserLogin {
  @Resource(name="adminService")
  AdminService admiservice;
  @Resource(name="userService")
  private UserService userservice;
  @RequestMapping("login")
  public String login(){
    return "login";
  }
  @RequestMapping("checkLogin")
  public String checkLogin(UserBean user,@Param("checkcode")String checkcode,HttpSession session,HttpServletRequest request){
    String piccode=(String) request.getSession().getAttribute("piccode");
     checkcode=checkcode.toUpperCase();//全部改成大写
    if(checkcode.equals(piccode)){
          UserBean user1=userservice.login(user);
        if(user1!=null){
          if(user1.getRole()==0){
        session.setAttribute("countfound", admiservice.SelectCountFoundGoods());
        session.setAttribute("countlost",admiservice.SelectCountLostGoods());
        session.setAttribute("countuser", admiservice.SelectCountUser());
        session.setAttribute("user", user1);
          List<UserBean> list=  admiservice.SelectUser();
          session.setAttribute("listUser", list);
        return "/admin/index";
      }else {
        session.setAttribute("user", user1);
          return "index";
      }
    }
    else {
      session.setAttribute("error", "用户名或密码错误");
       return "Error";
    }
  }
  else {
    request.setAttribute("image", "验证码不正确");
     return "login";
    }
}
  @RequestMapping("error")
  public String Error(){
    return "Error";
  }
  //用户注册界面
  @RequestMapping("register")
  public String register(){
    return "register";
  }
  //用户注册界面功能
    @RequestMapping("registerAction")
    public String registerAction(UserBean user,HttpServletRequest req){
      user.setRole(1);
    int i=  userservice.AddUser(user);
    if (i>0) {
      req.setAttribute("message", "注册成功");
      }else{
        req.setAttribute("message", "注册失败");
      }
      return "login";
    }
  //用户退出系统
    @RequestMapping("out")
    public String out(){
      return "login";
    }
    //发布寻物信息
    @RequestMapping("AddLost")
  public String Addlost(){
    return "AddLost";
  }
    //验证码的实现
    @RequestMapping("image")
    public void Image(HttpServletRequest request,HttpServletResponse response) throws IOException{
      BufferedImage bi=new BufferedImage(68,22,BufferedImage.TYPE_INT_RGB);
    Graphics g=bi.getGraphics();
    Color c=new Color(200,150,255);
    g.setColor(c);
    //背景
    g.fillRect(0, 0, 68, 22);
    char[] ch="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
    //随机获取4个字符
    Random r=new Random();
    //范围数组,随机的位置
    int len=ch.length,index;
    StringBuffer  sb=new StringBuffer();
    for(int i=0;i<4;i++)
    {
      //获取随机数
      index=r.nextInt(len);//获得一个随机的位置,一个字符
      //放在图片上
      g.setColor(new Color(r.nextInt(88),r.nextInt(188),r.nextInt(255)));//给个颜色
      //字符画在图片上,及位置
      g.drawString(ch[index]+"", (i*15)+3, 18);
      //字符保存StringBuffer
      sb.append(ch[index]);
    }
    request.getSession().setAttribute("piccode", sb.toString());
    //输出
    ImageIO.write(bi, "JPG", response.getOutputStream());
    }
}

五,项目总结

校园失物招领系统使得用户更加方便、有效的找回丢失物品,也使得管理者在工作的时候更加简单、轻松,通过合理的分配人力、物力资源,提高校园失物招领工作的效率和质量。

主要特点为:

①界面简洁美观,容易上手。

②硬件要求低,容易维护。

相关文章
|
2月前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要
30 2
|
2月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
44 2
|
2月前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
构建互联网高性能WEB系统经验总结
66 16
|
3月前
|
机器学习/深度学习 数据处理 数据库
基于Django的深度学习视频分类Web系统
基于Django的深度学习视频分类Web系统
68 4
基于Django的深度学习视频分类Web系统
|
2月前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
112 2
|
3月前
|
机器学习/深度学习 监控 数据挖掘
基于Django和百度飞桨模型的情感识别Web系统
基于Django和百度飞桨模型的情感识别Web系统
52 5
|
4月前
|
网络协议 Windows
[收藏]优化基于Win 2000系统的Web服务器性能
[收藏]优化基于Win 2000系统的Web服务器性能
|
3月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
180 3
|
1月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
2月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
204 45