您的位置:首页 > 编程语言 > Java开发

Springboot+jedis简单项目

2017-09-21 20:36 344 查看
一、主页登录页面



<!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">«</span><#–class="active"–></a>-->
<#--</li>-->
<#--<#else >-->
<#--<li><a href="selectLike?pageNo=${list.prePage}&pageSize=${list.pageSize}"-->
<#--aria-label="Previous">-->
<#--<span aria-hidden="true">«</span><#–class="active"–></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">»</span>-->
<#--</a></li>-->
<#--<#else >-->
<#--<li><a href="selectLike?pageNo=${list.nextPage}&pageSize=${list.pageSize}" aria-label="Next">-->
<#--<span aria-hidden="true">»</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><#–class="active"–></a>-->
<#--</li>-->
<#--<#else >-->
<#--<li><a href="selectLike?pageNo=${list.firstPage}&pageSize=${list.pageSize}"-->
<#--aria-label="Previous">-->
<#--<span aria-hidden="true">Previous</span><#–class="active"–></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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: