Springboot+jedis简单项目

来源:互联网 发布:怎么监控数据库的变化 编辑:程序博客网 时间:2024/06/12 03:36

一、主页登录页面

<!doctype html><html><head>    <meta charset="utf-8">    <title></title>    <script type="text/javascript" src="/js/jquery-2.1.0.js"></script>    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"          integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">    <!-- 可选的 Bootstrap 主题文件(一般不用引入)-->    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"          integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">    <!--最新的 Bootstrap 核心 JavaScript 文件 -->    <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"            integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"            crossorigin="anonymous"></script>    <!--js框架-->    <!--<script type="text/javascript" src="/js/angularjs.js"></script>-->    <script>        $(function () {            $("#submit").click(function () {                var username = $("input:eq(0)");                var password = $("input:eq(1)");                var msg = ""                if ($.trim(username.val()) == "") {                    msg = "用户名不能为空!";                    username.focus();                } else if (!/^\w{5,20}$/.test($.trim(username.val()))) {                    msg = "用户名格式不正确!";                    username.focus();                } else if ($.trim(password.val()) == "") {                    msg = "密码不能为空!";                    password.focus();                } else if (!/^\w{6,20}$/.test($.trim(password.val()))) {                    msg = "密码格式不正确!";                    password.focus();                }                if (msg != "") {                    alert(msg);                } else {                    // 获取表单中的参数                    var params = $("#form").serialize();                    // 发送登录的异步请求                    $.ajax({                        url: "login",                        data: params,                        success: function (data) {                            if (data == "ok") {                                window.location.href = "/sto/stock"                            } else {                                alert("账号或密码错误");                            }                        }                    })                }            });            // 为document绑定onkeydown事件监听是否按了回车键            $(document).keydown(function (event) {                if (event.keyCode === 13) { // 按了回车键                    $("#submit").trigger("click");                }            });        });    </script></head>
二、添加货源页面

<!doctype html><html>   <head>      <meta charset="utf-8">      <title></title>      <script type="text/javascript" src="/js/jquery-2.1.0.js"></script>      <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->      <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">      <!-- 可选的 Bootstrap 主题文件(一般不用引入)-->      <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">      <!--最新的 Bootstrap 核心 JavaScript 文件 -->      <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>      <!--js框架-->      <!--<script type="text/javascript" src="/js/angularjs.js"></script>-->        <!--三级联动插件-->        <script type="text/javascript" src="/shengshiliandong/area.js"></script>      <script>      </script>   </head>   <body>      <div class="container">         <div class="col-md-offset-2 col-md-6">            <form class="form-horizontal" id="form" enctype="multipart/form-data" method="post" action="/sto/addStock">               <div class="form-group">                  <label for="name" class="col-sm-2 control-label">货物名称</label>                  <div class="col-sm-6">                     <input type="text" class="form-control" id="name" name="name">                  </div>                  <div class="col-sm-4 c"></div>               </div>               <div class="form-group">                  <label for="num" class="col-sm-2 control-label">货物数量</label>                  <div class="col-sm-6">                     <input  class="form-control" id="num" name="num">                  </div>                  <div class="col-sm-4 c"></div>               </div>                    <div class="form-group">                        <label for="s_province" class="col-sm-2 control-label">货物来源</label>                        <div class="info">                            <div class="col-sm-3">                                <select id="s_province" class="form-control" name="from"></select>                            </div>                            <div class="col-sm-3">                                <select id="s_city" class="form-control"    name="from"></select>                            </div>                            <div class="col-sm-3">                                <select id="s_county" class="form-control" name="from"></select>                                <script type="text/javascript">                                    _init_area();                                </script>                            </div>                            <div id="show"></div>                        </div>                    </div>                    <div class="form-group">                        <label for="multipartFile" class="col-sm-2 control-label">货物图片</label>                        <div class="col-sm-3">                            <input name="multipartFile" id="multipartFile" class="file-loading" type="file" />                        </div>               </div>               <div class="form-group">                  <div class="col-sm-offset-2 col-sm-6">                     <button type="submit" id="submit" class="btn btn-default">保存</button>                  </div>               </div>            </form>         </div>   </body>   <script>    var Gid = document.getElementById;    var showArea = function() {    Gid('show').innerHTML = "<h3>省" + Gid('s_province').value + " - 市" +        Gid('s_city').value + " - 县/区" +        Gid('s_county').value + "</h3>"    }    Gid('s_county').setAttribute('onchange', 'showArea()');    </script></html>
三、配置出库页面

<!doctype html><html><head>    <meta charset="utf-8">    <title></title>    <script type="text/javascript" src="/js/jquery-2.1.0.js"></script>    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"          integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">    <!-- 可选的 Bootstrap 主题文件(一般不用引入)-->    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"          integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">    <!--最新的 Bootstrap 核心 JavaScript 文件 -->    <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"            integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"            crossorigin="anonymous"></script>    <!--js框架-->    <!--<script type="text/javascript" src="/js/angularjs.js"></script>-->    <script>    </script></head><body><div class="container">    <div class="col-md-12">        <nav class="navbar navbar-default">            <div class="container-fluid">                <!-- Brand and toggle get grouped for better mobile display -->                <div class="navbar-header">                </div>                <!-- Collect the nav links, forms, and other content for toggling -->                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">                    <form class="navbar-form navbar-left" action="/sto/selectLike">                        <div class="form-group">                            <input type="text" class="form-control" placeholder="Search" name="name">                        </div>                        <button type="submit" class="btn btn-default">Submit</button>                    </form>                </div>            </div>        </nav>    </div>    <div class="row ">    <#list list as l>        <div class="col-md-4">            <div class="row">                <div class="col-md-5"><img src="${l.photo}" width="150" height="190"></div>                <div class="col-md-7">                    <table style="height: 160px; margin-top: 20px">                        <tr>                            <td>名称:</td>                            <td>${l.name}</td>                        </tr>                        <tr>                            <td>数量:</td>                            <td>${l.num}</td>                        </tr>                        <tr>                            <td>产地:</td>                            <td>${l.from}</td>                        </tr>                        <tr>                            <td>日期:</td>                            <td>${l.createDate?string("yyyy-MM-dd")}</td>                        </tr>                        <tr>                            <td>选择:</td>                            <td><input type="checkbox" value="${l.id}" name="ids"></td>                        </tr>                    </table>                </div>            </div>        </div>    </#list>    </div>    <div class="col-md-offset-11"><input class="btn btn-default" type="button" onclick="show()" value="出库"></div>    <#--<div style="margin-left: 500px">-->        <#--<nav aria-label="Page navigation" >-->        <#--<ul class="pagination">-->        <#--<#if list.isFirstPage==true>-->            <#--<li class="disabled"><a href="selectLike?pageNo=${list.firstPage}&pageSize=${list.pageSize}"-->                                    <#--aria-label="Previous">-->                <#--<span aria-hidden="true">&laquo;</span>&lt;#&ndash;class="active"&ndash;&gt;</a>-->            <#--</li>-->        <#--<#else >-->            <#--<li><a href="selectLike?pageNo=${list.prePage}&pageSize=${list.pageSize}"-->                   <#--aria-label="Previous">-->                <#--<span aria-hidden="true">&laquo;</span>&lt;#&ndash;class="active"&ndash;&gt;</a></li>-->        <#--</#if>-->        <#--<#list 1..list.pages as s>-->            <#--<li><a href="selectLike?pageNo=${s}&pageSize=${list.pageSize}">${s}</a></li>-->        <#--</#list>-->        <#--<#if list.isLastPage==true>-->            <#--<li class="disabled"><a href="selectLike?pageNo=${list.lastPage}&pageSize=${list.pageSize}"-->                                    <#--aria-label="Next">-->                <#--<span aria-hidden="true">&raquo;</span>-->            <#--</a></li>-->        <#--<#else >-->            <#--<li><a href="selectLike?pageNo=${list.nextPage}&pageSize=${list.pageSize}" aria-label="Next">-->                <#--<span aria-hidden="true">&raquo;</span>-->            <#--</a></li>-->        <#--</#if>-->        <#--</ul>-->        <#--</nav>-->    <#--</div>-->    <#--<nav aria-label="...">-->        <#--<ul class="pager">-->        <#--<#if list.isFirstPage==true>-->            <#--<li class="disabled"><a href="selectLike?pageNo=${list.firstPage}&pageSize=${list.pageSize}"-->                                    <#--aria-label="Previous">-->                <#--<span aria-hidden="true">Previous</span>&lt;#&ndash;class="active"&ndash;&gt;</a>-->            <#--</li>-->        <#--<#else >-->            <#--<li><a href="selectLike?pageNo=${list.firstPage}&pageSize=${list.pageSize}"-->                   <#--aria-label="Previous">-->                <#--<span aria-hidden="true">Previous</span>&lt;#&ndash;class="active"&ndash;&gt;</a></li>-->        <#--</#if>-->        <#--<#if list.isLastPage==true>-->            <#--<li class="disabled"><a href="selectLike?pageNo=${list.lastPage}&pageSize=${list.pageSize}"-->                                    <#--aria-label="Next">-->                <#--<span aria-hidden="true">Next</span>-->            <#--</a></li>-->        <#--<#else >-->            <#--<li><a href="selectLike?pageNo=${list.lastPage}&pageSize=${list.pageSize}" aria-label="Next">-->                <#--<span aria-hidden="true">Next</span>-->            <#--</a></li>-->        <#--</#if>-->        <#--</ul>-->    <#--</nav>--><#--</div>--></div></body><script>    function show() {        var data = $(":checked");        var ids = [];        $.each(data, function () {            ids.push($(this).val());        });        /*  $.ajax({              url: "sto/addDate",              data: {"ids": ids.join(",")},              success: function (data) {                  alert("出库成功");                  location.reload();              }          });*/        $.post("/sto/addDate", {"ids": ids.join(",")}, function (data) {            alert("出库成功");            location.reload();        });    }</script></html>
四、用户控制类

package com.bw.controller;import com.bw.pojo.User;import com.bw.service.UserService;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;@Controller@RequestMapping("user")public class UserController {    @Resource    private UserService userService;    @RequestMapping("/")    public String index(){        return "index";    }    @RequestMapping("login")    @ResponseBody    public String login(User user){        User selectUser = userService.selectUser(user);        System.out.print(selectUser);      if(selectUser==null){            return "errer";        }else {            return "ok";        }    }}
五、货源控制类

package com.bw.controller;import com.alibaba.fastjson.JSON;import com.bw.pojo.IdsDate;import com.bw.pojo.Stock;import com.bw.service.StockService;import com.github.pagehelper.PageHelper;import com.github.pagehelper.PageInfo;import org.springframework.boot.SpringApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.servlet.ModelAndView;import redis.clients.jedis.Jedis;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Date;import java.util.List;import java.util.UUID;@Controller@RequestMapping("sto")public class StockController {    @Resource    private StockService stockService;    @RequestMapping("stock")    public String stock() {        return "stock";    }    @RequestMapping("addStock")    public String stock(Stock stock, MultipartFile multipartFile, HttpServletRequest request) throws IOException {        String newName = multipartFile.getOriginalFilename();        String suffixName = newName.substring(newName.lastIndexOf("."));        newName = UUID.randomUUID() + suffixName;        //获取文件流        InputStream inputStream1 = multipartFile.getInputStream();        //获取物理路径        String wlPath = "E:\\Java\\projects\\JavaWorkspace\\myrepository\\src\\main\\resources\\static\\images/" + newName;        //逻辑路径        String ljPath = "../images/" + newName;        //临时路径        String pathRoot = request.getSession().getServletContext().getRealPath("/");//自动寻找target根目录        String lsPath = pathRoot + "\\images\\" + newName;        //判断是否需要创建文件夹        //物理路径文件夹        File wlFile = new File("E:\\Java\\projects\\JavaWorkspace\\myrepository\\src\\main\\resources\\static\\images");        //临时路径文件夹        File lsFile = new File(pathRoot + "\\images\\");        if (!wlFile.exists()) {            wlFile.mkdir();        }        if (!lsFile.exists()) {            lsFile.mkdir();        }        //执行读写操作        if (!multipartFile.isEmpty()) {            //将文件放入物理路径            FileOutputStream wlFileOutputStream = new FileOutputStream(wlPath);            //将文件放入临时路径            FileOutputStream lsFileOutputStream1 = new FileOutputStream(lsPath);            int line = 0;            while ((line = inputStream1.read()) != -1) {                //写入物理路径                wlFileOutputStream.write(line);                //写入临时路径                lsFileOutputStream1.write(line);            }            wlFileOutputStream.flush();            lsFileOutputStream1.flush();            lsFileOutputStream1.close();            wlFileOutputStream.close();            inputStream1.close();        }        stock.setPhoto(ljPath);        stock.setCreateDate(new Date());        stockService.addStock(stock);        return "redirect:/sto/selectStock";    }    @RequestMapping("selectStock")    public ModelAndView selectStock(ModelAndView modelAndView ,String pageNo,String pageSize){        Jedis jedis = new Jedis("192.168.134.10",6379);        jedis.select(1);        String string = jedis.get("list");        List<Stock> list  = null;        if(string==null){            list = stockService.selectStock();            jedis.set("list", JSON.toJSONString(list));        }else {            list = (List<Stock>) JSON.parse(string);        }        System.out.print( list);        modelAndView.addObject("list",list);        modelAndView.setViewName("stocks");        return modelAndView;    }    @RequestMapping("addDate")    @ResponseBody    public String  addDate(IdsDate idsDate){        idsDate.setDate(new Date());        stockService.updateStock(idsDate);        return "ok";    }    @RequestMapping("selectLike")    public ModelAndView selectLike(ModelAndView modelAndView ,String name,String pageNo,String pageSize){        int num = 1;        int size= 3;        if (pageNo!=null &&  !"".equals(pageNo)){            num = Integer.parseInt(pageNo);        }        if (pageSize!=null &&  !"".equals(pageSize)){            size = Integer.parseInt(pageSize);        }        //开始分页        PageHelper.startPage(num,size);        List<Stock> stocks = stockService.selectLike(name);        PageInfo<Stock> list = new PageInfo<>(stocks);        modelAndView.addObject("list",list);        modelAndView.setViewName("stocks");        return modelAndView;    }}

原创粉丝点击