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

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

大連做網(wǎng)站排名網(wǎng)絡(luò)推廣競(jìng)價(jià)

大連做網(wǎng)站排名,網(wǎng)絡(luò)推廣競(jìng)價(jià),建立動(dòng)態(tài)網(wǎng)站的作用,南聯(lián)網(wǎng)站建設(shè)推廣末尾獲取源碼 開(kāi)發(fā)語(yǔ)言:Java Java開(kāi)發(fā)工具:JDK1.8 后端框架:SpringBoot 前端:VueHTML 數(shù)據(jù)庫(kù):MySQL5.7和Navicat管理工具結(jié)合 開(kāi)發(fā)軟件:IDEA / Eclipse 是否Maven項(xiàng)目:是 目錄 一、項(xiàng)目簡(jiǎn)介 二…

末尾獲取源碼
開(kāi)發(fā)語(yǔ)言:Java
Java開(kāi)發(fā)工具:JDK1.8
后端框架:SpringBoot
前端:Vue+HTML
數(shù)據(jù)庫(kù):MySQL5.7和Navicat管理工具結(jié)合
開(kāi)發(fā)軟件:IDEA / Eclipse
是否Maven項(xiàng)目:是


目錄

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

二、系統(tǒng)功能

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

3.1前臺(tái)首頁(yè)

3.2管理員

3.3博主

四、核心代碼

4.1登錄相關(guān)

4.2文件上傳

4.3封裝


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

隨著國(guó)內(nèi)市場(chǎng)經(jīng)濟(jì)這幾十年來(lái)的蓬勃發(fā)展,突然遇到了從國(guó)外傳入國(guó)內(nèi)的互聯(lián)網(wǎng)技術(shù),互聯(lián)網(wǎng)產(chǎn)業(yè)從開(kāi)始的群眾不信任,到現(xiàn)在的離不開(kāi),中間經(jīng)歷了很多挫折。本次開(kāi)發(fā)的個(gè)人博客系統(tǒng),有管理員,用戶(hù),博主三個(gè)角色。管理員功能有個(gè)人中心,用戶(hù)管理,博主管理,文章分類(lèi)管理,博主文章管理,系統(tǒng)公告管理,輪播圖管理。博主可以注冊(cè)登錄,修改個(gè)人信息,對(duì)自己發(fā)布的博主文章進(jìn)行管理操作。用戶(hù)可以注冊(cè)登錄,查看管理員發(fā)布的公告信息和博主發(fā)布的文章信息,還可以對(duì)博主文章進(jìn)行收藏評(píng)論以及評(píng)論操作。開(kāi)發(fā)本程序后臺(tái)用到了Spring Boot開(kāi)發(fā)技術(shù),頁(yè)面設(shè)計(jì)采用VUE框架和layui樣式。數(shù)據(jù)庫(kù)采用關(guān)系數(shù)據(jù)庫(kù)市場(chǎng)占有率最高的MySQL作為本程序使用的數(shù)據(jù)庫(kù),完全符合程序使用并且有豐富的拓展余地。程序從需求到設(shè)計(jì),從開(kāi)發(fā)到測(cè)試,都在功能上和性能上都不斷的進(jìn)行了調(diào)試,讓開(kāi)發(fā)的程序在使用上用戶(hù)體驗(yàn)更美好。


二、系統(tǒng)功能

本災(zāi)情救援系統(tǒng)主要包括三大功能模塊,即用戶(hù)功能模塊和管理員功能模塊、博主模塊。

(1)管理員模塊:用戶(hù)管理、博主管理、文章分類(lèi)管理、博主文章管理、系統(tǒng)管理。

(2)用戶(hù)模塊:首頁(yè)、博主文章、系統(tǒng)公告、個(gè)人中心。

(1)博主模塊:博主管理、博主文章管理。



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

3.1前臺(tái)首頁(yè)

用戶(hù)可以在博主文章里面查看到博主發(fā)布的文章信息,可以對(duì)博主文章信息進(jìn)行查看,收藏,贊踩,評(píng)論操作。

?我的收藏里面可以看到自己收藏過(guò)的博主文章信息,可以去點(diǎn)擊收藏的信息去取消收藏。

3.2管理員

管理員可以對(duì)用戶(hù)信息進(jìn)行添加,修改,刪除,查詢(xún)操作。

管理員可以對(duì)文章分類(lèi)信息進(jìn)行添加,修改,刪除,查詢(xún)操作。

管理員可以對(duì)公告信息進(jìn)行添加,修改,刪除,查詢(xún)操作。

管理員可以對(duì)博主信息信息進(jìn)行添加,修改,刪除,查詢(xún)操作。

3.3博主

博主可以對(duì)自己發(fā)布過(guò)的博主文章信息進(jìn)行添加,修改,刪除,查詢(xún)操作,還可以查看評(píng)論。


四、核心代碼

4.1登錄相關(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("用戶(hù)已存在");}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);}/*** 獲取用戶(hù)的session用戶(hù)信息*/@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("用戶(hù)已存在");}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();}
}

4.2文件上傳

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);}}

4.3封裝

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;}
}

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

相關(guān)文章:

  • 網(wǎng)絡(luò)培訓(xùn)機(jī)構(gòu)排名前十合肥seo招聘
  • 網(wǎng)頁(yè)開(kāi)發(fā)者模式怎么打開(kāi)搜索引擎優(yōu)化的主要手段
  • 教做飲品的網(wǎng)站百度搜索入口網(wǎng)址
  • 用哪個(gè)程序做網(wǎng)站收錄好6dw網(wǎng)站制作
  • 網(wǎng)站目前如何做外鏈地推掃碼平臺(tái)
  • 代碼編輯器做熱點(diǎn)什么網(wǎng)站好精準(zhǔn)引流推廣公司
  • 建模外包網(wǎng)站推廣怎么做
  • 衡水網(wǎng)站建設(shè)服務(wù)廣告聯(lián)盟有哪些
  • 廣州移動(dòng) 網(wǎng)站建設(shè)今日特大新聞
  • 如何做高校的網(wǎng)站版面設(shè)計(jì)品牌宣傳策略
  • 做網(wǎng)站需要續(xù)費(fèi)嗎深圳seo優(yōu)化外包
  • 德州哪里有做網(wǎng)站推廣的深圳seo優(yōu)化排名優(yōu)化
  • 網(wǎng)站建設(shè)需要精通什么知識(shí)網(wǎng)絡(luò)推廣的優(yōu)勢(shì)有哪些
  • 個(gè)人可以做幾個(gè)網(wǎng)站嗎百度快照是什么意思?
  • 網(wǎng)站開(kāi)發(fā)與網(wǎng)站建設(shè)精準(zhǔn)獲客
  • 網(wǎng)站 建設(shè)網(wǎng)站市場(chǎng)調(diào)研分析
  • 廈門(mén)做網(wǎng)站個(gè)人蘇州做網(wǎng)站的專(zhuān)業(yè)公司
  • 網(wǎng)站建設(shè)需要什么資料智能營(yíng)銷(xiāo)方法
  • 松江新城投資建設(shè)集團(tuán)有限公司網(wǎng)站網(wǎng)絡(luò)營(yíng)銷(xiāo)第三版課本
  • 龍崗做網(wǎng)站的公司源碼之家
  • 網(wǎng)站建設(shè)到運(yùn)營(yíng)需要多少錢(qián)怎樣在百度上做廣告
  • 做品牌網(wǎng)站公司淄博網(wǎng)站營(yíng)銷(xiāo)與推廣
  • 臺(tái)州專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)系統(tǒng)網(wǎng)絡(luò)推廣有哪幾種方法
  • 做網(wǎng)站品牌怎么注冊(cè)自己公司的網(wǎng)址
  • 舟山市城鄉(xiāng)建設(shè)委員會(huì)網(wǎng)站seo搜索引擎優(yōu)化是通過(guò)優(yōu)化答案
  • 什么網(wǎng)站可以做自考試題seo教育
  • 品牌網(wǎng)站建設(shè)多少錢(qián)品牌推廣策略分析
  • 網(wǎng)站怎樣才有流量seo是指搜索引擎營(yíng)銷(xiāo)
  • 深圳設(shè)計(jì)裝修公司哪家好百度關(guān)鍵詞優(yōu)化培訓(xùn)
  • 合肥最好的網(wǎng)站建設(shè)公司化妝培訓(xùn)