为了能到远方,脚下的每一步都不能少.|

lmyyyy

园龄:2年8个月粉丝:7关注:10

软件工程开学测试新闻发布Mis系统

一、对于本次测试的感想

  1. 由于上学期和假期里的学习,对于javaweb系统也是比较了解了,所以对于这次测试还是有把握的。
  2. 经过了上个学期的几次测试,我也得出了一些得分的外门邪道,其中最主要的原则就是要快,所以我把我掌握的最方便快捷知识都拿出来使用了。
  3. 当然快只是针对考试而言,在平时学习的时候也要系统全面的学习。

二、部分代码

基于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 中国大陆许可协议进行许可。

posted @   lmyyyy  阅读(27)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起