大体完成借阅证的添加,发现错误:同一个连接查询不同的语句会失败???

pull/1/head
you 5 years ago
parent 4a89dccb98
commit b9ac28edda

@ -123,9 +123,13 @@ layui.use(['form', 'layedit', 'jquery'], function(){
dataType: 'JSON',
success: function(data){
if(data.code == "0"){
parent.layer.msg("添加成功");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.layer.msg("添加成功",{
icon: 6,
time: 500
});
setTimeout(function(){
parent.location.reload();
}, 500);
}else{
leyer.msg("添加失败");
}

@ -15,7 +15,6 @@
<style>
.layui-form{
margin: 10px 20px;
}
</style>
</head>
@ -152,17 +151,21 @@ layui.use(['form', 'layedit', 'jquery'], function(){
url: './bookEdit',
method: 'post',
data: data.field, //JSON.stringify(data.field),
dataType: 'JSON',
dataType: 'json',
success: function(data){
if(data.code == "0"){
parent.layer.msg("修改成功");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.layer.msg("修改成功",{
icon: 6,
time: 1000
});
setTimeout(function(){
parent.location.reload()
}, 1000);
//var index = parent.layer.getFrameIndex(window.name); //操作父页面
//parent.layer.close(index);
}else{
leyer.msg("修改失败");
}
//parent.layer.msg('您将标记 [ sdf ] 成功传送给了父窗口');
}
})

@ -13,7 +13,6 @@
<!-- layui -->
<link rel="stylesheet" href="../public/layui/css/layui.css">
<script src="../public/layui/layui.js"></script>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style>
.layui-table, .layui-table-view{
margin-top: 0px;
@ -92,15 +91,6 @@
var bookSortJson = <%=bookSortJson %>
</script>
<script type="text/html" id="libraryTemp">
{{#
var id = }}
{{=d.id}}
{{#
console.log(id);
}}
</script>
<script>
@ -147,7 +137,7 @@
});
// 监听工具条 编辑,删除
// 监听侧边工具条 编辑,删除
table.on('tool(form)', function(obj){ //注tool 是工具条事件名test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
@ -172,11 +162,8 @@
}
})
//location.reload();
});
} else if(layEvent === 'edit'){ //编辑
//do something
// 页面编辑
layer.open({
type: 2,
@ -185,10 +172,6 @@
maxmin: true, //开启最大化最小化按钮
shadeClose: true,
content: "bookedit.jsp?id="+ id,
end: function () {
console.log("finish edit");
location.reload();
}
});
//同步更新缓存对应的值
@ -208,6 +191,7 @@
var checkStatus = table.checkStatus(obj.config.id);
var data = obj.data;
switch(obj.event){
// 条件查找
case 'search':
var conditionValue = $('#conditionValue');
var condition = $('#condition');
@ -222,6 +206,7 @@
}
});
break;
// 添加书籍
case 'add':
var addBookLayer = layer.open({
type: 2,

@ -0,0 +1,93 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图书证修改</title>
<link rel="stylesheet" href="../public/layui/css/layui.css" media="all">
<script src="../public/layui/layui.js" charset="utf-8"></script>
<style>
.layui-form{
margin: 10px 20px;
}
</style>
</head>
<body>
<form class="layui-form layui-form-pane" action="" lay-filter="cardFilter">
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-block">
<input type="text" name="reader" lay-verify="required" autocomplete="off" placeholder="请输入姓名" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密码</label>
<div class="layui-input-block">
<input type="password" name="password" placeholder="请输入密码" autocomplete="off" class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">规则</label>
<div class="layui-input-block">
<select name="rule_id" lay-filter="rule_id" lay-verify="required">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="2">3</option>
<option value="3">音乐</option>
<option value="4">旅行</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否可用</label>
<div class="layui-input-block">
<input type="radio" name="status" value="1" title="可用" checked="">
<input type="radio" name="status" value="0" title="不可用">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="submitForm">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<script>
layui.use(['form', 'jquery'], function(){
var form = layui.form
,layer = layui.layer;
$ = layui.jquery;
// 提交表单
form.on('submit(submitForm)', function(data){
$.ajax({
url: './cardAdd',
method: 'post',
data: data.field,
dataType: 'json',
success: function(data){
if(data.code == "0"){
parent.layer.msg(data.data["id"],{
icon: 6,
time: 5500
});
/*setTimeout(function(){
parent.location.reload();
}, 500);*/
}else{
leyer.msg("添加失败");
}
}
});
return false;
})
});
</script>
</body>
</html>

@ -0,0 +1,93 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图书证修改</title>
<link rel="stylesheet" href="../public/layui/css/layui.css" media="all">
<script src="../public/layui/layui.js" charset="utf-8"></script>
<style>
.layui-form{
margin: 10px 20px;
}
</style>
</head>
<body>
<form class="layui-form layui-form-pane" action="" lay-filter="example">
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-block">
<input type="text" name="username" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密码框</label>
<div class="layui-input-block">
<input type="password" name="password" placeholder="请输入密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">选择框</label>
<div class="layui-input-block">
<select name="interest" lay-filter="aihao">
<option value=""></option>
<option value="0">写作</option>
<option value="1">阅读</option>
<option value="2">游戏</option>
<option value="3">音乐</option>
<option value="4">旅行</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">复选框</label>
<div class="layui-input-block">
<input type="checkbox" name="like[write]" title="写作">
<input type="checkbox" name="like[read]" title="阅读">
<input type="checkbox" name="like[daze]" title="发呆">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">开关</label>
<div class="layui-input-block">
<input type="checkbox" name="close" lay-skin="switch" lay-text="ON|OFF">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">单选框</label>
<div class="layui-input-block">
<input type="radio" name="sex" value="男" title="男" checked="">
<input type="radio" name="sex" value="女" title="女">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">文本域</label>
<div class="layui-input-block">
<textarea placeholder="请输入内容" class="layui-textarea" name="desc"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" id="LAY-component-form-setval">赋值</button>
<button type="button" class="layui-btn layui-btn-normal" id="LAY-component-form-getval">取值</button>
<button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
</div>
</div>
</form>
<script>
layui.use(['form'], function(){
var form = layui.form
,layer = layui.layer;
});
</script>
</body>
</html>

@ -4,9 +4,123 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>卡</title>
<title>借阅卡</title>
<link rel="stylesheet" href="../public/layui/css/layui.css" media="all">
<style>
.layui-table,.layui-table-view{
margin: 0 0px;
}
</style>
</head>
<body>
card
<!-- 表单 -->
<table class="layui-hide" id="cardTable" lay-filter="formFilter"></table>
<script src="../public/layui/layui.js" charset="utf-8"></script>
<!-- 头部工具栏 -->
<script type="text/html" id="headBar">
条件搜索:
<div class="layui-inline">
<select id="condition" name="condition" lay-verify="required">
<option value=""></option>
<option value="id">ID</option>
<option value="name">书名</option>
<option value="author">作者</option>
<option value="library">图书馆</option>
<option value="position">位置</option>
<option value="status">状态</option>
<option value="description">描述</option>
</select>
</div>
<div class="layui-inline">
<input class="layui-input" id="conditionValue" name="conditionValue" id="demoReload" autocomplete="off">
</div>
<button class="layui-btn" name="condition" data-type="reload" lay-event="search">搜索</button>
<button type="button" class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon"></i></button>
</script>
<!-- 表格后面的操作 -->
<script type="text/html" id="operateBar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
layui.use(['table','jquery'], function(){
$ = layui.jquery;
var table = layui.table;
// 进行渲染
var tableIns = table.render({
elem: '#cardTable'
,url:'./data.json'
,toolbar: '#headBar'
,cols: [[
{field:'id', width:80, title: 'ID', sort: true}
,{field:'username', width:80, title: '用户名'}
,{field:'sex', width:80, title: '性别', sort: true}
,{field:'city', width:80, title: '城市'}
,{field:'sign', title: '签名', minWidth: 150}
,{field:'experience', width:80, title: '积分', sort: true}
,{field:'score', width:80, title: '评分', sort: true}
,{field:'classify', width:80, title: '职业'}
,{field:'wealth', width:135, title: '财富', sort: true}
,{fixed: 'right', title:'操作', toolbar: '#operateBar', align: 'center', width:150}
]]
,page: true
});
// 头部工具栏事件
table.on('toolbar(formFilter)', function(obj){
var checkStatus = table.checkStatus(obj.config.id);
switch(obj.event){
// 条件查找图书证
case 'search':
var conditionValue = $('#conditionValue');
var condition = $('#condition');
layer.msg(condition.val());
// 进行搜索,重新渲染
tableIns.reload({
where: { //设定异步数据接口的额外参数,任意设
"condition": condition.val(),
"conditionValue": conditionValue.val()
}
,page: {
curr: 1 //重新从第 1 页开始
}
});
break;
// 添加借书证
case 'add':
var addCardLayer = layer.open({
type: 2,
title: '添加借书证',
area: ['800px', '500px'],
maxmin: true,
shadeClose: true,
content: 'cardadd.jsp',
});
//layer.full(addCardLayer);
};
});
// 侧边工具栏事件
table.on(('tool(formFilter)'), function(obj){
var data = obj.data;
var layEvent = obj.event;
var tr = obj.tr;
switch(obj.event){
case 'edit':
layer.open({
type: 2,
title: '更改信息',
area: ['800px', '600px'],
maxmin: true,
shadeClose: true,
content: 'cardedit.jsp',
})
break;
}
})
});
</script>
</body>
</html>

@ -1 +1 @@
{"code":0,"msg":"","count":10,"data":[{"id":10000,"name":"夏洛特的烦恼","library_name":"南图","sort_id":"言情","position_id":"sdf","state":"借出","descript":"好看","operate":"234"},{"id":10000,"name":"夏洛特的烦恼","library_name":"南图","sort_id":"言情","position_id":"sdf","state":"借出","descript":"好看","operate":"234"},{"id":10000,"name":"夏洛特的烦恼","library_name":"南图","sort_id":"言情","position_id":"sdf","state":"借出","descript":"好看","operate":"234"},{"id":10010,"name":"夏洛特的烦恼","library_name":"南图","sort_id":"言情","position_id":"sdf","state":"借出","descript":"好看","operate":"234"}]}
{"code":0,"msg":"","count":1000,"data":[{"id":10020,"username":"user-20","sex":"男","city":"城市-20","sign":"签名-20","experience":770,"logins":24,"wealth":92420248,"classify":"诗人","score":87},{"id":10021,"username":"user-21","sex":"男","city":"城市-21","sign":"签名-21","experience":184,"logins":131,"wealth":71566045,"classify":"词人","score":99},{"id":10022,"username":"user-22","sex":"男","city":"城市-22","sign":"签名-22","experience":739,"logins":152,"wealth":60907929,"classify":"作家","score":18},{"id":10023,"username":"user-23","sex":"女","city":"城市-23","sign":"签名-23","experience":127,"logins":82,"wealth":14765943,"classify":"作家","score":30},{"id":10024,"username":"user-24","sex":"女","city":"城市-24","sign":"签名-24","experience":212,"logins":133,"wealth":59011052,"classify":"词人","score":76},{"id":10025,"username":"user-25","sex":"女","city":"城市-25","sign":"签名-25","experience":938,"logins":182,"wealth":91183097,"classify":"作家","score":69},{"id":10026,"username":"user-26","sex":"男","city":"城市-26","sign":"签名-26","experience":978,"logins":7,"wealth":48008413,"classify":"作家","score":65},{"id":10027,"username":"user-27","sex":"女","city":"城市-27","sign":"签名-27","experience":371,"logins":44,"wealth":64419691,"classify":"诗人","score":60},{"id":10028,"username":"user-28","sex":"女","city":"城市-28","sign":"签名-28","experience":977,"logins":21,"wealth":75935022,"classify":"作家","score":37},{"id":10029,"username":"user-29","sex":"男","city":"城市-29","sign":"签名-29","experience":647,"logins":107,"wealth":97450636,"classify":"酱油","score":27}]}

@ -40,7 +40,7 @@
<%}else{%>
<li><a href="04readerFrame.jsp" target="_parent" onClick="">登录</a></li>
<%}
%>s
%>
</ul>
</div>

@ -1,6 +1,8 @@
package filter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@ -18,17 +20,14 @@ import javax.servlet.http.HttpSession;
*/
public class AdminFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//TODO
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
if(session == null || session.getAttribute("admin") == null) {
HttpServletResponse rep = (HttpServletResponse)response;
rep.sendRedirect(req.getContextPath() +"/adminLogin.html");
PrintWriter out =response.getWriter();
// iframe父页面直接跳转到登录界面
out.print("<script>window.parent.location.href='"+ req.getContextPath() +"/adminLogin.html'</script>");
}
chain.doFilter(request, response);
}

@ -74,8 +74,8 @@ public class Admin {
whereString += " where "+where.get("condition") +" like '%" +where.get("conditionValue") +"%' ";
sql += whereString;
}
sql += " limit ?,? ";
System.out.println("sql: " +sql);
sql += "order by id desc limit ?,? ";
//System.out.println("sql: " +sql); debug
pstmt = (PreparedStatement) connection.prepareStatement(sql);
pstmt.setInt(1, (number-1) * size );
pstmt.setInt(2, size);

@ -0,0 +1,102 @@
package servlet.admin;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.Connection;
import javabean.Base;
import javabean.JDBCBean;
import net.sf.json.JSONObject;
/**
* Servlet implementation class CardAdd
*/
@WebServlet("/admin/cardAdd")
public class CardAdd extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("application/json; charset=utf8");
// 获取参数
String reader = req.getParameter("reader");
String password = req.getParameter("password");
String rule_id = req.getParameter("rule_id");
String status = req.getParameter("status");
// 准备资源
String code = "1";
String msg = "error";
String data = "";
JSONObject json = new JSONObject();
JSONObject jsonData = new JSONObject();
Connection connection = null;
Connection connection1 = null;
PreparedStatement pstmt = null;
PreparedStatement pstmt1 = null;
String sql = null;
int result = 0;
ResultSet dataSet = null;
// 参数不能为空
if(reader == null || password == null || rule_id == null || rule_id == null || status == null) {
code = "1";
msg = "值不能为空";
}else {
try {
connection = (Connection) Base.getConnection();
sql = "insert into borrow_card(password, reader, rule_id, status) values(?,?,?,?)";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, password);
pstmt.setString(2, reader);
pstmt.setString(3, rule_id);
pstmt.setString(4, status);
result = pstmt.executeUpdate();
//获取id
connection1= (Connection) Base.getConnection();
String findIdSql = "select id from borrow_card where password=? and reader=? and rule_id=? and status=? limit 1";
pstmt1 = connection1.prepareStatement(findIdSql);
pstmt1.setString(1, password);
pstmt1.setString(2, reader);
pstmt1.setString(3, rule_id);
pstmt1.setString(4, status);
dataSet = pstmt1.executeQuery();
if(dataSet.next()) {
jsonData.put("id", dataSet.getString("id"));
}
} catch (ClassNotFoundException e) {
msg = "发生异常";
} catch (SQLException e) {
msg = "sql错误";
System.out.println("sql失败");
}
try {
Base.closeResource(connection, pstmt, null);
Base.closeResource(connection1, pstmt1, dataSet);
} catch (SQLException e) {
msg = "关闭资源失败";
}
if(result == 1 && !jsonData.isNullObject()) {
System.out.println(jsonData.toString()); //debug
code = "0";
msg = "添加成功";
}else {
code = "1";
}
}
json.put("code", code);
json.put("msg", msg);
json.put("data", jsonData.toString());
PrintWriter out = resp.getWriter();
//out.print("{\"code\": 0,\"msg\": \"success\"}");
out.print(json.toString());
}
}
Loading…
Cancel
Save