首页IT科技校园失物招领平台类图(失物招领|基于Web的校园失物招领系统的设计与实现)

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

时间2025-09-19 13:55:52分类IT科技浏览5039
导读:作者主页:编程千纸鹤...

作者主页:编程千纸鹤

作者简介:Java                、前端                       、Pythone开发多年                ,做过高程                       ,项目经理        ,架构师

主要内容:Java项目开发        、毕业设计开发        、面试技术整理                       、最新技术分享

收藏点赞不迷路  关注作者有好处

项目编号:BS-XX-158

引言:

随着互联网的飞速发展        ,学校也进入了信息化时代                。校园中大学生丢失物品的现象较为普遍                       ,但是由于没有一个良好的信息交流平台               ,使得失主不能及时甚至找不到失物        ,给生活带来了极大的不便                       。通过互联网为在校师生搭建一个发布信息的平台                        ,可以有效帮助他们找回失物        。

校园失物招领系统基于Web技术进行开发               ,采用MySQL数据库存储数据,主要包括用户和管理员两大模块:用户模块具有注册               、登录        、发布寻物信息                        、发布招领信息               、浏览、留言板                        、个人信息管理等功能;管理员模块可以对用户信息                       、寻物信息、招领信息                、个人信息和管理员信息进行管理        。

一                        ,项目简介

传统的校园失物招领系统都是通过纸笔记录信息                       ,经过一段时间后,累积的数据达到一定程度                ,再次查询的效率就会非常低                       ,并且很容易造成数据的损坏和丢失                       。随着社会的进步        ,绿色环保成为一种主流                ,越来越多的公司已经放弃了使用纸笔记录信息                       ,开始通过互联网发送并存储各种信息[1]               。这样做不仅大大节约了成本        ,还省出了更多的时间和精力去做其他的工作        。通过设计校园失物招领系统        ,用户可以使用互联网进入系统                       ,在系统内发布或查看各种物品的信息                        。这样               ,通过各个用户之间的信息交流        ,可以方便快捷的找到丢失物品                        ,并且还可以节省人力资源               ,也符合现代绿色环保的理念               。因此,设计校园失物招领系统势在必行。

通过对系统的功能进行需求分析                        ,应具备以下功能:

(1)游客在使用本系统之前                       ,必须注册一个账号才能进入本系统                        。

(2)管理员可以使用相应的权限对普通用户进行管理                       。

(3)实现对失物和拾物两个模块的管理功能。

(4)能够实现用户对失物进行的搜索查找功能                。

(5)实现用户对留言板这块的管理功能                       。

(6)对于个人信息可以及时完成修改或更新        。

(7)实现在登录时,能够出现登录成功或失败的界面                。

(8)实现用户的退出功能                       。

(9)管理员对于系统能够简单维护                ,方便用户实现操作的功能        。

(2)个人信息表主要记录了用户相关的个人信息                       ,如表3-2所示        。

表3-2 个人信息表结构

序列号

字段名称

字段类型

长度

是否主键

说明

1

userId

int

11

id自增

2

user_name

varchar

255

用户名

3

user_password

varchar

255

密码

4

user_real_name

varchar

255

真实姓名

5

email

varchar

255

邮箱

6

tel

int

11

电话

7

role

int

11

用户身份

8

academy

varchar

255

院系

(3)失物表主要记录了用户丢失的物品的相关信息        ,如表3-3所示                       。

表3-3 失物表结构

序列号

字段名称

字段类型

长度

是否主键

说明

1

lost_id

int

11

id自增

2

lost_name

varchar

255

物品名称

3

lost_time

varchar

255

时间

4

describe

varchar

255

描述

5

place

varchar

255

地点

6

sort

int

11

物品分类

7

user_id

int

11

用户

(4)拾物表主要记录了各种被捡到的物品的相关信息                ,如表3-4所示               。

表3-4 拾物表结构

序列号

字段名称

字段类型

长度

是否主键

说明

1

found_id

int

11

id自增

2

found_goods_name

varchar

255

物品名称

3

time

varchar

255

时间

4

describe

varchar

255

描述

5

place

varchar

255

地点

6

sort

int

11

物品分类

7

user_id

int

11

用户

(5)留言表主要记录了用户的各种留言信息                       ,如表3-5所示        。

表3-5 留言表结构

序列号

字段名称

字段类型

长度

是否主键

说明

1

id

int

11

Id自增

2

user_id

varchar

255

用户

3

content

varchar

255

内容

二        ,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发技术:SSM框架

前台开发技术:JSP+JQUERY+CSS+JS

三        ,系统展示

4.1 前台功能模块设计实现

4.1.1 用户注册模块

用户来到系统界面                       ,点击注册按钮               ,便会跳转到注册界面        ,在注册的时候需要输入真实姓名                       、登录密码        、手机号                、用户名                       、邮箱        、院校等一些基本信息                        ,其中手机号必须是11位               ,邮箱格式必须正确,将这些信息输入完成后                        ,点击注册便会注册成功                       ,然后跳转到登录界面进行登录                        。用户在进行注册时的注册界面如图4-1所示               。

图4-1 用户注册

4.1.2 用户登录模块

用户来到登录界面后,可以根据注册的用户名和密码进行登录操作                ,并且需要输入正确的验证码才能登录成功                       ,若验证码复杂不容易识别        ,可以直接点击图片更换新的验证码。在登录成功后                ,系统会根据登录的账号自动识别用户或管理员的身份                       ,从而可以进入到不同的界面                        。

用户在进行登录时的界面如图4-2所示                       。

图4-2 用户登录界面

4.1.3 浏览模块

4.1.3.1 寻物信息浏览

用户进入首页后        ,点击“浏览               ”按钮        ,选择“寻物信息浏览                        ”                       ,会出现各种物品的丢失信息               ,包括物品的类别        、物品名称                       、丢失时间               、丢失地点        、丢失人信息和物品的描述        ,其中如果用户之前发布过寻物信息                        ,也会显示在上面               ,并且点击“编辑        ”按钮后可以跳转到添加寻物信息界面完成寻物信息的更新,点击“更新寻物               ”按钮就可以完成寻物信息的更新                        ,对于过期的信息                       ,也可以自行删除。

用于浏览物品丢失信息的界面如图4-3所示                。

图4-3 丢失信息浏览界面

更新寻物信息的界面如图4-4所示                       。

图4-4 更新寻物信息界面

4.1.3.2 招领信息浏览

用户进入首页后,点击“浏览                       ”按钮                ,选择“招领信息浏览        ”                       ,会出现各种物品的招领信息        ,包括物品的类别                        、招领物品               、发现时间、发现的地点                        、发现的用户和物品的描述                ,如果用户之前捡到过失物                       ,并且在上面发布了招领信息        ,也会出现在上面        ,如果失主找回了自己的失物                       ,在删除失物信息之后               ,招领的信息便会清除        。也可以在首页上方的搜索框输入失物的关键字对物品进行搜索        ,如果有该物品                        ,则会显示该物品的信息               ,如果没有,则不会显示                。

用于浏览招领信息的界面如图4-5所示                       。

图4-5 招领信息浏览界面

使用搜索功能的搜索结果界面如图4-6所示        。

图4-6 搜索结果界面

4.1.4 发布寻物信息模块

用户可以在首页点击“发布寻物信息        ”按钮                        ,进入到添加寻物信息界面                       ,可以在此添加丢失物品的信息,包括选择物品的类别                       、添加丢失时间、丢失的物品描述                、物品的名称以及丢失物品的地点                ,完成这些信息的填写后                       ,点击“添加丢失                       ”按钮便可以成功添加失物信息        ,如图4-7所示        。

图4-7 添加寻物信息界面

4.1.5 发布招领信息模块

用户在首页通过点击“发布招领信息                ”按钮                ,进入到添加招领信息界面                       ,可以在此添加捡到的物品信息        ,包括选择物品的类型                       、物品的名称        、发现时间                、发现地点以及物品描述        ,完成之后点击“添加招领        ”按钮便可以成功添加招领信息                       ,其他用户在使用系统的时候也能看到这些信息               ,如图4-8所示                       。

图4-8 添加招领信息界面

4.1.6 留言板模块

用户在首页可以点击“留言板                       ”按钮        ,进入到留言板模块                        ,在这里用户可以随时发表自己的留言信息               。用户只需要在留言框内输入留言内容               ,点击“发送                ”按钮,保存的留言信息便会显示在该界面                        ,并且所有的用户都可以看到                       ,如果感觉留言的内容不合适,可以在操作一栏点击“删除”按钮                ,不合适的留言内容就会被清除                       ,如图4-9所示        。

图4-9 用户留言界面

4.1.7 个人信息模块

用户在首页可以通过点击“个人信息                       ”按钮        ,进入到个人信息修改界面                ,用户在该界面可以对自己的个人信息进行修改                       ,包括修改用户登录名                       、用户密码        、用户真实姓名        、手机号码                       、邮箱以及所属院校        ,完成修改后        ,点击下方的“修改                        ”按钮便可以完成修改                       ,如图4-10所示                        。

图4-10 个人信息修改界面

4.2 管理员功能模块设计实现

4.2.1 用户信息管理模块

4.2.1.1 用户列表

管理员使用管理员账号可以进入后台管理系统               ,并且可以在系统的左侧点击用户信息管理        ,选择用户列表                        ,可以进入用户信息概况界面               ,在该界面可以对用户信息进行查看和删除,对于一些利用系统来宣传不正当信息的用户                        ,可以执行删除操作                       ,点击“删除”按钮便可完成操作,如图4-11所示               。

图4-11 用户信息界面

4.2.1.2 添加用户信息

管理员可以在后台管理系统选择用户信息管理                ,点击“添加用户信息               ”按钮便会跳转到管理员添加用户界面                       ,在该界面管理员可以帮助用户添加信息        ,需要添加的用户信息包括用户登录名               、用户密码        、用户真实姓名                        、手机号码               、邮箱和所属院校                ,所有信息写完后                       ,点击“添加                        ”按钮        ,就可以完成用户的添加        ,如图4-12所示。

图4-12 管理员添加用户界面

4.2.2 招领信息管理模块

4.2.2.1 招领列表

管理员可以在后台用户管理系统选择招领信息管理                       ,点击“招领列表        ”按钮便可以跳转到招领信息界面               ,该界面包括了招领物品的类别、名称                        、发现的时间                       、物品的描述、发现的地点和发现的用户相关信息        ,点击操作栏中的“编辑               ”按钮便可以跳转到更新界面进行编辑                        ,也可以进行删除               ,如图4-13所示                        。

图4-13 招领信息界面

4.2.2.2 添加招领信息

管理员可以在后台管理系统选择招领信息管理,点击“添加招领信息                       ”按钮就会跳转到添加招领信息界面                        ,在该界面可以选择添加招领物品的类别                、物品的名称                       、发现时间        、发现地点以及物品描述                       ,完成这些信息的填写之后,点击下方的“添加招领        ”按钮                ,就可以将招领信息保存到招领列表                       ,如图4-14所示                       。

图4-14 添加招领信息界面

4.2.3 寻物信息管理模块

4.2.3.1 寻物列表

管理员可以在后台管理系统选择寻物信息管理        ,点击“寻物列表        ”按钮                ,就会跳转到丢失信息界面                       ,包括丢失物品的类别                、物品名称                       、丢失时间        、丢失的地点        、丢失人信息和物品的描述        ,在操作列可以选择对物品进行编辑或删除        ,点击“编辑                       ”按钮后会跳转到添加寻物信息界面                       ,可以对物品的信息进行更新操作               ,如图4-15所示。

图4-15 丢失信息界面

4.2.3.2 添加寻物信息

管理员可以在后台管理系统选择寻物信息管理        ,点击“添加寻物信息按钮                ”就会跳转到添加寻物信息界面                        ,包括选择添加物品的类型                       、物品名称               、丢失时间        、丢失地点和丢失物品的描述               ,所有信息填写完后点击“添加寻物        ”按钮就可以进行保存,如图4-16所示                。

图4-16 添加寻物信息界面

4.2.4 个人信息管理模块

4.2.4.1 个人信息修改

管理员可以在后台管理系统选择个人信息管理                        ,点击“个人信息修改                       ”按钮                       ,就会跳转到个人信息修改界面,包括修改用户登录名                        、用户密码               、用户真实姓名、手机号码                        、邮箱和所属院校                ,完成修改后                       ,点击“修改                ”按钮便可以将修改后的个人信息保存        ,如图4-17所示                       。

图4-17 个人信息修改界面

4.2.4.2 添加管理员

管理员在后台管理系统可以选择个人信息管理                ,点击“添加管理员”按钮                       ,可以添加用户登录名                       、用户密码、用户真实姓名                、手机号码                       、邮箱和所属院校        ,将所有的信息填写保存之后        ,便可以添加一位新的管理员                       ,并且拥有管理员的所有权限               ,如图4-18所示        。

图4-18 添加管理员界面

四        ,核心代码展示

package com.czmec.action; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; 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.FoundGoodsBean; import com.czmec.bean.GoodsByNameBean; import com.czmec.bean.LostGoodsBean; import com.czmec.bean.UserBean; import com.czmec.service.AdminService; import com.czmec.service.FoundService; import com.czmec.service.LostService; import com.czmec.service.UserService; //管理员操作 @Controller @RequestMapping("AdminAction") public class AdminAction { @Resource(name = "adminService") AdminService admiservice; @Resource(name = "lostService") LostService lostservice; @Resource(name = "foundService") FoundService foundservice; @Resource(name = "userService") private UserService userservice; @RequestMapping("adminindex") public String Adminindex(HttpServletRequest req) { List<UserBean> list = admiservice.SelectUser(); req.setAttribute("listUser", list); return "/admin/UserList"; } @RequestMapping("test") public String test() { return "/admin/test"; } // 获取寻物信息列表 /*@RequestMapping("lostlist") @ResponseBody public List<LostGoodsBean> LostList() { List<LostGoodsBean> list = lostservice.SelectLostGoods(); return list; }*/ // 管理员添加用户 @RequestMapping("AddUser") public String AddUser() { return "/admin/AddUser"; } // 管理员添加用户具体实现 @RequestMapping("AddUserImpl") public String AddUserImpl(UserBean user, HttpServletRequest req) { user.setRole(1); int i = userservice.AddUser(user); if (i > 0) { req.setAttribute("message", "添加成功"); } else { req.setAttribute("message", "添加失败"); } List<UserBean> list = admiservice.SelectUser(); req.setAttribute("listUser", list); return "/admin/UserList"; } // 管理员添加管理具体实现 @RequestMapping("AddAdminImpl") public String AddAdminImpl(UserBean user, HttpServletRequest req) { user.setRole(0); int i = userservice.AddUser(user); if (i > 0) { req.setAttribute("message", "添加成功"); } else { req.setAttribute("message", "添加失败"); } List<UserBean> list = admiservice.SelectUser(); req.setAttribute("listUser", list); return "/admin/UserList"; } // 管理员添加招领 @RequestMapping("AddFound") public String AddFound() { return "/admin/AddFound"; } // 添加拾物列表 @RequestMapping("AddFoundImpl") public String AddFoundImpl(FoundGoodsBean foundgoodsbean, HttpServletRequest req) { int i = foundservice.AddFoundGoods(foundgoodsbean); if (i > 0) { req.setAttribute("message", "添加成功"); } else { req.setAttribute("message", "添加失败"); } List<FoundGoodsBean> list = foundservice.SelectFoundGoods(); req.setAttribute("foundList", list); return "/admin/FoundList"; } // 添加一条丢物信息 @RequestMapping("AddLost") public String AddLost() { return "/admin/AddLost"; } // 添加丢物列表 @RequestMapping("AddLostImpl") public String AddLostImpl(LostGoodsBean losetgoodsbean, HttpServletRequest req) { int i = lostservice.AddLostGoods(losetgoodsbean); if (i > 0) { req.setAttribute("message", "添加成功"); } else { req.setAttribute("message", "添加失败"); } List<LostGoodsBean> list = lostservice.SelectLostGoods(); req.setAttribute("lostlist", list); return "/admin/LostList"; } // 管理员链接到招领列表 @RequestMapping("FoundList") public String FoundList(HttpServletRequest req) { List<FoundGoodsBean> list = foundservice.SelectFoundGoods(); req.setAttribute("foundList", list); return "/admin/FoundList"; } // 管理员链接到寻物列表 @RequestMapping("LostList") public String LostList(HttpServletRequest req) { List<LostGoodsBean> list = lostservice.SelectLostGoods(); req.setAttribute("lostlist", list); return "/admin/LostList"; } // 个人信息修改 @RequestMapping("UpdatUser") public String UpdatUser(HttpSession session) { if (((UserBean)session.getAttribute("user")).getRole()==0) { return "/admin/UpdatUser"; } else { return "UpdatUser"; } } // 个人信息修改 @RequestMapping("UpdatUserImpl") public String UpdatUserImpl(UserBean user,HttpServletRequest req) { int i=userservice.UpdateUser(user); if (i > 0) { req.setAttribute("message", "修改成功"); } else { req.setAttribute("message", "修改失败"); } return "/admin/UpdatUser"; } // 添加管理员 @RequestMapping("AddAdmin") public String AddAdmin() { return "/admin/AddAdmin"; } //删除用户 @RequestMapping("DelUser") public String DelUser(UserBean user,HttpServletRequest req){ int i=userservice.DelUser(user); if (i > 0) { req.setAttribute("Dmessage", "删除成功"); } else { req.setAttribute("Dmessage", "删除失败"); } List<UserBean> list = admiservice.SelectUser(); req.setAttribute("listUser", list); return "/admin/UserList"; } //删除招领信息 @RequestMapping("DelFoundGoods") public String DelFoundGoods(FoundGoodsBean foundgoodsbean,HttpServletRequest req){ int i=foundservice.DelFoundGoods(foundgoodsbean); if (i > 0) { req.setAttribute("Dmessage", "删除成功"); } else { req.setAttribute("Dmessage", "删除失败"); } List<FoundGoodsBean> list = foundservice.SelectFoundGoods(); req.setAttribute("foundList", list); return "/admin/FoundList"; } //删除寻物信息 @RequestMapping("DelLostGoods") public String DelLostGoods(LostGoodsBean lostgoodsbean,HttpServletRequest req){ int i=lostservice.DelLostGoods(lostgoodsbean); if (i > 0) { req.setAttribute("Dmessage", "删除成功"); } else { req.setAttribute("Dmessage", "删除失败"); } List<LostGoodsBean> list = lostservice.SelectLostGoods(); req.setAttribute("lostlist", list); return "/admin/LostList"; } //根据物品名字模糊查询 @RequestMapping("SelectFoundGoodsByName") public String SelectFoundGoodsByName(@Param("foundName")String foundName,HttpServletRequest request) throws UnsupportedEncodingException{ foundName = java.net.URLDecoder.decode(foundName,"UTF-8"); GoodsByNameBean goodsbyNameBean=new GoodsByNameBean(); goodsbyNameBean.setFoundName(foundName); List<GoodsByNameBean> list=foundservice.SelectFoundGoodsByName(goodsbyNameBean); request.setAttribute("goodsByName", list); return "admin/SelectByNameList"; } //根据ID查询个人信息 @RequestMapping("selectUserById") public String selectUserById(UserBean user,HttpServletRequest request){ List<UserBean> list=admiservice.SelectUserById(user); request.setAttribute("geren",list); return "admin/IdUser"; } //更新一条招领记录 @RequestMapping("updatafound") public String UpdataFoundList(@Param("foundId")int foundId,HttpServletRequest request){ FoundGoodsBean fBean=foundservice.SelectFoundById(foundId); request.setAttribute("fBean", fBean); return "admin/AddFound"; } //更新一条招领记录实现 @RequestMapping("updatafoundImpl") public String updtafoundImpl(FoundGoodsBean foundgoodsbean,HttpServletRequest req){ foundservice.UpdateFoundGoods(foundgoodsbean); List<FoundGoodsBean> list = foundservice.SelectFoundGoods(); req.setAttribute("foundList", list); return "/admin/FoundList"; } //更新一条寻物记录 @RequestMapping("updatalost") public String UpdataLostList(@Param("lostId")int lostId,HttpServletRequest request){ LostGoodsBean lBean=lostservice.SelectLostById(lostId); request.setAttribute("lBean", lBean); return "admin/AddLost"; } //更新一条寻物实现 @RequestMapping("updatalostImpl") public String updtalostImpl(LostGoodsBean lostGoodsBean,HttpServletRequest req){ lostservice.UpdateLostGoods(lostGoodsBean); List<LostGoodsBean> list = lostservice.SelectLostGoods(); req.setAttribute("lostlist", list); return "/admin/LostList"; } } 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()); } }

五                        ,项目总结

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

主要特点为:

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

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

声明:本站所有文章                ,如无特殊说明或标注                       ,均为本站原创发布        。任何个人或组织        ,在未征得本站同意时        ,禁止复制        、盗用        、采集                       、发布本站内容到任何网站               、书籍等各类媒体平台                       。如若本站内容侵犯了原著者的合法权益                       ,可联系我们进行处理               。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
list容器排序(deque容器和list容器)