软件工程开学测试新闻发布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;
    }

}

posted @ 2023-02-14 20:44  lmyyyy  阅读(37)  评论(0)    收藏  举报