中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

做企業(yè)網(wǎng)站價(jià)格注冊(cè)網(wǎng)址

做企業(yè)網(wǎng)站價(jià)格,注冊(cè)網(wǎng)址,企業(yè)推廣方法,e2ee網(wǎng)站開發(fā)末尾獲取源碼 開發(fā)語(yǔ)言:Java Java開發(fā)工具:JDK1.8 后端框架:SSM 前端:采用JSP技術(shù)開發(fā) 數(shù)據(jù)庫(kù):MySQL5.7和Navicat管理工具結(jié)合 服務(wù)器:Tomcat8.5 開發(fā)軟件:IDEA / Eclipse 是否Maven項(xiàng)目&#x…

末尾獲取源碼
開發(fā)語(yǔ)言:Java
Java開發(fā)工具:JDK1.8
后端框架:SSM
前端:采用JSP技術(shù)開發(fā)
數(shù)據(jù)庫(kù):MySQL5.7和Navicat管理工具結(jié)合
服務(wù)器:Tomcat8.5
開發(fā)軟件:IDEA / Eclipse
是否Maven項(xiàng)目:是


目錄

一、項(xiàng)目簡(jiǎn)介

二、系統(tǒng)功能

三、系統(tǒng)項(xiàng)目截圖

用戶信息管理

圖書信息管理

公告信息管理

留言信息管理

四、核心代碼

登錄相關(guān)

文件上傳

封裝

五、結(jié)論


一、項(xiàng)目簡(jiǎn)介

現(xiàn)代經(jīng)濟(jì)快節(jié)奏發(fā)展以及不斷完善升級(jí)的信息化技術(shù),讓傳統(tǒng)數(shù)據(jù)信息的管理升級(jí)為軟件存儲(chǔ),歸納,集中處理數(shù)據(jù)信息的管理方式。本圖書管理借閱系統(tǒng)就是在這樣的大環(huán)境下誕生,其可以幫助管理者在短時(shí)間內(nèi)處理完畢龐大的數(shù)據(jù)信息,使用這種軟件工具可以幫助管理人員提高事務(wù)處理效率,達(dá)到事半功倍的效果。此圖書管理借閱系統(tǒng)利用當(dāng)下成熟完善的SSM框架,使用跨平臺(tái)的可開發(fā)大型商業(yè)網(wǎng)站的Java語(yǔ)言,以及最受歡迎的RDBMS應(yīng)用軟件之一的Mysql數(shù)據(jù)庫(kù)進(jìn)行程序開發(fā).圖書管理借閱系統(tǒng)的開發(fā)根據(jù)操作人員需要設(shè)計(jì)的界面簡(jiǎn)潔美觀,在功能模塊布局上跟同類型網(wǎng)站保持一致,程序在實(shí)現(xiàn)基本要求功能時(shí),也為數(shù)據(jù)信息面臨的安全問(wèn)題提供了一些實(shí)用的解決方案??梢哉f(shuō)該程序在幫助管理者高效率地處理工作事務(wù)的同時(shí),也實(shí)現(xiàn)了數(shù)據(jù)信息的整體化,規(guī)范化與自動(dòng)化。

關(guān)鍵詞:圖書管理借閱系統(tǒng);SSM框架;Mysql;自動(dòng)化


二、系統(tǒng)功能

在分析并得出使用者對(duì)程序的功能要求時(shí),就可以進(jìn)行程序設(shè)計(jì)了。如圖展示的就是管理員功能結(jié)構(gòu)圖。



三、系統(tǒng)項(xiàng)目截圖

用戶信息管理

此頁(yè)面提供給管理員的功能有:用戶信息的查詢管理,可以刪除用戶信息、修改用戶信息、新增用戶信息,還進(jìn)行了對(duì)用戶名稱的模糊查詢的條件

圖書信息管理

此頁(yè)面提供給管理員的功能有:查看已發(fā)布的圖書信息數(shù)據(jù),修改圖書信息,圖書信息作廢,即可刪除。

公告信息管理

此頁(yè)面提供給管理員的功能有:根據(jù)公告信息進(jìn)行條件查詢,還可以對(duì)公告信息進(jìn)行刪除、查詢操作等等。

?

留言信息管理

此頁(yè)面提供給管理員的功能有:根據(jù)留言信息進(jìn)行回復(fù)、刪除、查詢操作等等。

?


四、核心代碼

登錄相關(guān)


package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登錄相關(guān)*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("賬號(hào)或密碼不正確");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注冊(cè)*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("賬號(hào)不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密碼已重置為:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

文件上傳

package com.controller;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;/*** 上傳文件映射表*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{@Autowiredprivate ConfigService configService;/*** 上傳文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException("上傳文件不能為空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}String fileName = new Date().getTime()+"."+fileExt;File dest = new File(upload.getAbsolutePath()+"/"+fileName);file.transferTo(dest);FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下載文件*/@IgnoreAuth@RequestMapping("/download")public ResponseEntity<byte[]> download(@RequestParam String fileName) {try {File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}File file = new File(upload.getAbsolutePath()+"/"+fileName);if(file.exists()){/*if(!fileService.canRead(file, SessionManager.getSessionUser())){getResponse().sendError(403);}*/HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    headers.setContentDispositionFormData("attachment", fileName);    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);}}

封裝

package com.utils;import java.util.HashMap;
import java.util.Map;/*** 返回?cái)?shù)據(jù)*/
public class R extends HashMap<String, Object> {private static final long serialVersionUID = 1L;public R() {put("code", 0);}public static R error() {return error(500, "未知異常,請(qǐng)聯(lián)系管理員");}public static R error(String msg) {return error(500, msg);}public static R error(int code, String msg) {R r = new R();r.put("code", code);r.put("msg", msg);return r;}public static R ok(String msg) {R r = new R();r.put("msg", msg);return r;}public static R ok(Map<String, Object> map) {R r = new R();r.putAll(map);return r;}public static R ok() {return new R();}public R put(String key, Object value) {super.put(key, value);return this;}
}

五、結(jié)論

通過(guò)對(duì)圖書管理借閱系統(tǒng)的開發(fā),讓我深刻明白開發(fā)一個(gè)程序軟件需要經(jīng)歷的流程,當(dāng)確定要開發(fā)一個(gè)圖書管理借閱系統(tǒng)的程序時(shí),我在開發(fā)期間,對(duì)其功能進(jìn)行合理的需求分析,然后才是程序軟件的功能的框架設(shè)計(jì),數(shù)據(jù)庫(kù)的實(shí)體與數(shù)據(jù)表設(shè)計(jì),程序軟件的功能詳細(xì)界面實(shí)現(xiàn),以及程序的功能測(cè)試等進(jìn)行全方位的細(xì)致考慮,雖然在此過(guò)程中,各個(gè)環(huán)節(jié)都遇到了大大小小的困難,但是通過(guò)對(duì)這些問(wèn)題進(jìn)行反復(fù)的分析,深入的思考,借助各種相關(guān)文獻(xiàn)資料提供的方法與解決思路成功解決面臨的各個(gè)問(wèn)題,最后成功的讓我開發(fā)的圖書管理借閱系統(tǒng)得以正常運(yùn)行。

圖書管理借閱系統(tǒng)在功能上面是基本可以滿足用戶對(duì)系統(tǒng)的操作,但是這個(gè)程序軟件也有許多方面是不足的,因此,在下一個(gè)時(shí)間階段,有幾點(diǎn)需要改進(jìn)的地方需要提出來(lái),它們分別是:

(1)操作頁(yè)面可以滿足用戶簡(jiǎn)易操作的要求,但是在頁(yè)面多樣化設(shè)計(jì)層面上需要把一些比較豐富的設(shè)計(jì)結(jié)構(gòu)考慮進(jìn)來(lái)。

(2)程序軟件的總體安全性能需要優(yōu)化,例如程序的退出安全性,以及程序的并發(fā)性等問(wèn)題都需要進(jìn)行安全性升級(jí),讓開發(fā)的圖書管理借閱系統(tǒng)與現(xiàn)實(shí)中的相關(guān)網(wǎng)站更貼合。

(3)需要對(duì)程序的數(shù)據(jù)結(jié)構(gòu)方面,程序的代碼方面等進(jìn)行優(yōu)化,讓運(yùn)行起來(lái)的程序可以保持穩(wěn)定運(yùn)行,也讓程序能夠保證短時(shí)間內(nèi)處理相關(guān)事務(wù),節(jié)省處理事務(wù)的時(shí)間,提高事務(wù)處理的效率,同時(shí)對(duì)服務(wù)器上資源占用的比例進(jìn)行降低。

圖書管理借閱系統(tǒng)的開發(fā)一方面是對(duì)自身專業(yè)知識(shí)技能進(jìn)行最終考核,另一方面也是讓自己學(xué)會(huì)獨(dú)立解決程序開發(fā)過(guò)程中所遇到的問(wèn)題,掌握將理論知識(shí)運(yùn)用于程序開發(fā)實(shí)踐的方法。圖書管理借閱系統(tǒng)的開發(fā)最終目標(biāo)就是讓系統(tǒng)更具人性化,同時(shí)在邏輯設(shè)計(jì)上,讓系統(tǒng)能夠更加的嚴(yán)謹(jǐn)。

http://www.risenshineclean.com/news/60047.html

相關(guān)文章:

  • 8080端口做網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的常用方法
  • 政府網(wǎng)站集約化建設(shè)項(xiàng)目廊坊seo排名
  • 長(zhǎng)春網(wǎng)站排名公司最新新聞事件今天
  • .中國(guó)域名的網(wǎng)站網(wǎng)站百度收錄突然消失了
  • 哈爾濱智能建站模板網(wǎng)站統(tǒng)計(jì)系統(tǒng)
  • 電子商務(wù)都學(xué)什么英文seo兼職
  • 北京正規(guī)網(wǎng)站建設(shè)公司百度助手安卓版下載
  • 外國(guó)大氣網(wǎng)站設(shè)計(jì)谷歌首頁(yè)
  • 企業(yè)信息管理系統(tǒng)免費(fèi)小吳seo博客
  • 網(wǎng)頁(yè)瀏覽器阻止安裝activex控件惠州seo排名外包
  • 網(wǎng)站要怎么做才能獲得市場(chǎng)份額百度開戶返點(diǎn)
  • 深圳網(wǎng)絡(luò)做網(wǎng)站百度指數(shù)在線查詢
  • 成都的設(shè)計(jì)院有哪些上海小紅書seo
  • 有哪些做特賣的網(wǎng)站福建seo排名
  • 廣州做網(wǎng)店哪個(gè)網(wǎng)站批發(fā)網(wǎng)百度查詢最火的關(guān)鍵詞
  • 有想做企業(yè)網(wǎng)站建設(shè)微商怎么引流被別人加
  • magento網(wǎng)站遷移seo排名優(yōu)化有哪些
  • 重慶網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn)機(jī)構(gòu)網(wǎng)站統(tǒng)計(jì)平臺(tái)
  • html5可以做動(dòng)態(tài)網(wǎng)站網(wǎng)絡(luò)關(guān)鍵詞優(yōu)化方法
  • 高德地圖開發(fā)平臺(tái)淘寶seo搜索優(yōu)化
  • 用心做的網(wǎng)站軟件開發(fā)公司推薦
  • 網(wǎng)站開發(fā)軟件手機(jī)版網(wǎng)絡(luò)科技公司騙了我36800
  • 專用車網(wǎng)站建設(shè)哪家好比較靠譜的電商培訓(xùn)機(jī)構(gòu)
  • 北京建行網(wǎng)站營(yíng)銷策劃方案
  • 做網(wǎng)站收入長(zhǎng)沙正規(guī)競(jìng)價(jià)優(yōu)化推薦
  • 手機(jī)端怎么網(wǎng)站建設(shè)seo標(biāo)簽優(yōu)化
  • 自己有網(wǎng)站怎么做點(diǎn)卡網(wǎng)絡(luò)推廣的方法有
  • 做網(wǎng)站掙錢么網(wǎng)站推廣是做什么的
  • 網(wǎng)站里的搜索怎么做免費(fèi)制作自己的網(wǎng)站
  • 西安本地十家做網(wǎng)站建設(shè)的公司seo網(wǎng)站排名的軟件