软件工程开学测试新闻发布Mis系统
一、对于本次测试的感想
- 由于上学期和假期里的学习,对于javaweb系统也是比较了解了,所以对于这次测试还是有把握的。
- 经过了上个学期的几次测试,我也得出了一些得分的外门邪道,其中最主要的原则就是要快,所以我把我掌握的最方便快捷知识都拿出来使用了。
- 当然快只是针对考试而言,在平时学习的时候也要系统全面的学习。
二、部分代码
基于springboot+vue实现,只是使用了vue的指令,未实现前后端分离
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.8</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>jinli01</artifactId> <version>0.0.1-SNAPSHOT</version> <name>jinli01</name> <description>jinli01</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.15.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
登陆页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登陆页面</title> <style> div { margin-top: 300px; margin-left: 300px; } </style> </head> <body> <div id="app"> <h1>新闻系统</h1> <form> 用户名:<input type="text" v-model="user.username"><br> 密码:<input type="password" v-model="user.password"><br> 验证码:<input type="text" v-model="yanzhengma1"><span style="border: 2px solid black;margin: 20px">{{yanzhengma2}}</span><br> 身份: <select v-model="shenfen"> <option selected="selected">请选择</option> <option value="新闻撰稿人">新闻撰稿人</option> <option value="普通用户">普通用户</option> <option value="新闻栏目管理员">新闻栏目管理员</option> <option value="系统管理">系统管理</option> </select> <input type="button" @click="login" value="登录"> </form> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script> new Vue({ el: "#app", data: { user: { username: "123456789", password: "123456" }, shenfen: "", yanzhengma1:"", yanzhengma2:"" }, created(){ // 生成验证码 this.creatIdentity(); }, methods:{ login(){ // 判断验证码是否正确 if (this.yanzhengma1 != this.yanzhengma2){ alert("验证码错误"); return ; } var _this = this; axios.post("/users/login",_this.user).then(function (res){ if (res.data.code == 1){ switch(_this.shenfen){ case "新闻撰稿人": window.location.href = "page/zhuangaoren.html"; break; case "普通用户": window.location.href = "page/yonghu.html"; break; case "新闻栏目管理员": window.location.href = "page/lanmu.html"; break; case "系统管理": window.location.href = "page/xitong.html"; break; } }else{ alert(res.data.msg); } }) }, /** * 生成验证码 */ creatIdentity(){ var tem = ['a', 'b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']; var str = ""; for (var i = 0; i < 4; i ++){ var x = Math.random()*24 str += tem[Math.floor(x)]; } this.yanzhengma2 = str; } } }) </script> </body> </html>
domain实体类曾以News为例使用lombok实现
package com.example.domain; import lombok.Data; import java.util.Date; @Data public class News { int id; String title; String name; String content; Date time; String lanmu; String sug; String pinglun; String fabu; }
dao层采用mybatis-plus实现
package com.example.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.domain.User; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserDao extends BaseMapper<User> { }
service层省略,未写
controller层以NewsController为例
package com.example.controller; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.dao.NewsDao; import com.example.dao.OffdocDao; import com.example.domain.News; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.net.Inet4Address; import java.util.Date; import java.util.List; @RestController @RequestMapping("/news") public class NewsController { @Autowired private NewsDao newsDao; @PostMapping("/create") public boolean craete(@RequestBody News news){ news.setTime(new Date()); news.setFabu("待发"); newsDao.insert(news); return true; } @GetMapping("/getAll") public List<News> getAll(){ return newsDao.selectList(null); } @PostMapping("/upd") public boolean upd(@RequestBody News news){ newsDao.updateById(news); return true; } @PostMapping("/chaxun1") public List<News> chaxun1(@RequestBody News news){ System.out.println("条件为---------------" + news.getTitle()); LambdaQueryWrapper<News> qw = new LambdaQueryWrapper<>(); qw.eq(News::getTitle, news.getTitle()); List<News> list = newsDao.selectList(qw); return list; } @PostMapping("/chaxun2") public List<News> chaxun2(@RequestBody News news){ LambdaQueryWrapper<News> qw = new LambdaQueryWrapper<>(); qw.eq(News::getName, news.getName()); List<News> list = newsDao.selectList(qw); return list; } @PostMapping("/chaxun3") public List<News> chaxun3(@RequestBody News news){ System.out.println("条件为---------------" + news.getTitle()); LambdaQueryWrapper<News> qw = new LambdaQueryWrapper<>(); qw.eq(News::getContent, news.getContent()); List<News> list = newsDao.selectList(qw); return list; } @PostMapping("/chaxun4") public List<News> chaxun4(@RequestBody News news){ System.out.println("条件为---------------" + news.getTitle()); LambdaQueryWrapper<News> qw = new LambdaQueryWrapper<>(); qw.eq(News::getLanmu, news.getLanmu()); List<News> list = newsDao.selectList(qw); return list; } @DeleteMapping("/del/{id}") public boolean del(@PathVariable Integer id){ newsDao.deleteById(id); return true; } }
本文作者:lmyyyy
本文链接:https://www.cnblogs.com/lmyy/p/17120847.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步