目录
一,项目结构分布
二,代码片段
2.1dao层代码方法
@Override public void addBook(Book book) { Connection con = null; PreparedStatement ps = null; String sql = "insert into t_book value (id,bookname,price, booktype) " + "select max(id)+1,'" + book.getBookname()+"','" + book.getPrice()+"','" + book.getBooktype()+"' from t_book"; try { con = DBHelper.getsCon(); ps = con.prepareStatement(sql); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBHelper.Close(con, ps, null); } }
2.2service层代码封装
package service; import java.util.List; import model.Book; public interface IBookService { List<Book> getBooks(String name,int pageIndex, int pageSize); int getTotalPage(); void addBook(Book book); }
2.3editBook.jsp前段界面以及bookList界面代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <%@ include file="../../common/head.jsp" %> <title>Insert title here</title> <script> $(function(){ $('#bookTable').datagrid({ url: ctx+'/bookServlet', pagination:true, singleSelect:true, queryParams: { "bookName": $("#bookName").val() }, columns:[[ {field:'id',title:'书本ID',width:100}, {field:'bookname',title:'名称',width:100}, {field:'price',title:'价格',width:100,align:'right'}, {field:'booktype',title:'类型',width:100,align:'right'} ]], toolbar: '#bookTableToolbar' }); $("#bookQry").click(function() { qryBook(); }); qryBook(); function qryBook() { $('#bookTable').datagrid("load", { "bookName": $("#bookName").val() }) }; $("#addBookBtn").click(function(){ $("#editDialog").dialog({ title: '编辑书本信息', width: 400, height: 250, closed: false, cache: false, href: 'editBook.jsp', modal: true, buttons:[{ text:'保持', iconCls:'icon-add', handler:function(){ $.ajax({ url: ctx + "/bookAddServlet", type: 'post', data: $("#bookForm").serialize(), dataType: 'json', success: function(resp) { if(resp.success) { $.messager.alert('提示', '操作成功'); $('#editDialog').dialog('close'); qryBook(); } else { alert("not ok"); } } }); } },{ text:'关闭', iconCls:'icon-cancel', handler:function(){ } }] }); }); }); </script> </head> <body> <!-- 查询条件 --> <div style="margin-top: 15px; margin-left:10px;"> <input class="easyui-textbox" id="bookName" style="width:300px"> <a id="bookQry" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a> </div> <div id="p" class="easyui-panel" style="padding:10px" data-options="fit:true, border:false"> <table id="bookTable" class="easyui-datagrid" style="width:100%;height:90%;"> </table> </div> <!-- 列表上方的工具条 --> <div id="bookTableToolbar" style="text-align: right;"> <a href="#" id="addBookBtn" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true"/a> <a href="#" id="editBootBtn" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true"/a> <a href="#" id="delBootBtn" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true"/a> </div> <div id="editDialog">Dialog Content.</div> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <div> <form id="bookForm"> <input type="hidden" name="id" id="id"/> <div style="margin: 15px;"> <label for="name">书名:</label> <input class="easyui-textbox" name="bookname" style="width:300px" data-options="required:true"> </div> <div style="margin: 15px;"> <label for="price">价格:</label> <input class="easyui-textbox" name="price" style="width:300px" data-options="required:true"> </div> <div style="margin: 15px;"> <label for="booktype">类型:</label> <input class="easyui-textbox" name="booktype" style="width:300px" data-options="required:true"> </div> </form> </div>
2.4servlet层代码开发
package servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import model.Book; import service.BookService; import service.IBookService; @WebServlet("/bookAddServlet") public class BookAddServlet extends HttpServlet { private IBookService service = new BookService(); public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { doPost(req, resp); } public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("application/json; charset=utf-8"); String name = req.getParameter("bookname"); String price = req.getParameter("price"); String booktype = req.getParameter("booktype"); Book book = new Book(); book.setBookname(name); book.setBooktype(booktype); book.setPrice(price); PrintWriter out = resp.getWriter(); Map<String,Object> data = new HashMap<>(); try { service.addBook(book); data.put("success", true); } catch (Exception e) { data.put("success", false); } out.write(JSON.toJSONString(data)); out.flush(); out.close(); } }