国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】

這篇具有很好參考價值的文章主要介紹了第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

借閱管理

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

1. 借書卡

1.1 查詢借書卡

??借書卡在正常的CRUD操作的基礎(chǔ)上,我們還需要注意一些特殊的情況。查詢信息的時候。如果是管理員則可以查詢所有的信息,如果是普通用戶則只能查看自己的信息。這塊的控制在登錄的用戶信息

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

然后就是在Dao中處理的時候需要考慮根據(jù)當(dāng)前登錄用戶查詢的操作

@Override
public List<BorrowCard> listPage(PageUtils pageUtils,SysUser user) {
    QueryRunner queryRunner = MyDbUtils.getQueryRunner();
    String sql = "select * from t_borrow_card where 1 = 1";
    if(StringUtils.isNotEmpty(pageUtils.getKey())){
        sql += " and stuname like '%"+pageUtils.getKey()+"%'  ";
    }
    if(user != null && user.getIsAdmin() == false){
        // 不是管理員
        sql += " and stuid =  " + user.getId();
    }
    sql += " limit ?,? ";
    // 計算 分頁開始的位置
    int startNo = pageUtils.getStart();
    try {
        return queryRunner.query(sql
                ,new BeanListHandler<BorrowCard>(BorrowCard.class),startNo,pageUtils.getPageSize());
    } catch (SQLException throwables) {
        throwables.printStackTrace();
    }
    return null;
}

@Override
public int count(PageUtils pageUtils, SysUser user) {
    QueryRunner queryRunner = MyDbUtils.getQueryRunner();
    String sql = "select count(1) from t_borrow_card where 1 = 1 ";
    if(StringUtils.isNotEmpty(pageUtils.getKey())){
        sql += " and stuname like '%"+pageUtils.getKey()+"%'  ";
    }
    if(user != null && user.getIsAdmin() == false){
        // 不是管理員
        sql += " and stuid =  " + user.getId();
    }
    try {
        return queryRunner.query(sql, new ResultSetHandler<Integer>() {
            @Override
            public Integer handle(ResultSet resultSet) throws SQLException {
                resultSet.next();
                return resultSet.getInt(1);
            }
        });
    } catch (SQLException throwables) {
        throwables.printStackTrace();
    }
    return 0;
}

效果:

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

1.2 分配借書卡

??分配借書卡就是對借書卡的添加和更新的操作。在這塊我們需要注意的地方一個是需要查詢所有的學(xué)生信息

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

然后使用到layerDate這個日期時間的插件

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

然后在Servlet中獲取到的是特定格式的字符串,我們需要自定義轉(zhuǎn)換的方法來處理。

public class DateUtils {

    public static final String DATE_PARTTERN1 = "YYYY-MM-DD hh:mm:ss";

    /**
     * 字符串轉(zhuǎn)換為Date類型
     * @param msg
     * @param parttern
     * @return
     */
    public static Date stringToDate(String msg,String parttern){
        SimpleDateFormat format = new SimpleDateFormat(parttern);
        try {
            return format.parse(msg);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return new Date();
    }
}

就可以完成添加和更新的處理

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

1.3 下架處理

??當(dāng)借書卡還沒過期的情況下。管理員想要終止這個借書卡的使用。那么可以做下架的處理,下架的本質(zhì)是修改state的狀態(tài)為3.
第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

2. 圖書展示

??圖書展示是給學(xué)員查看的,方便學(xué)生根據(jù)不同的類型快速查找到對應(yīng)的書籍信息,并且完成相關(guān)的借閱操作。

2.1 標簽頁

??需要根據(jù)不同的類別展示不同的圖書信息。那么這塊我們通過bootstrap中提供的標簽來實現(xiàn)。

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

在這塊我們需要注意相關(guān)CSS屬性的處理

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

動態(tài)管理ID信息,ID和類別的ID綁定。

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

然后就給對應(yīng)的標簽頁綁定對應(yīng)的點擊事件,同時隨著我們的點擊會給tab-pane添加對應(yīng)的active的class屬性

$(".tabs-container .nav-tabs li").click(function(){
    var href = $(this).children()[0].href
    // 做字符串的截取操作
    var aId = href.substring(href.lastIndexOf('tab-'),href.length);

    // 先給所有的 class= tab-pane 的都移除掉 active 屬性
    $(".tab-pane").removeClass('active')
    // 然后單獨給當(dāng)前點擊的添加 active 屬性
    $("#"+aId).addClass("active")
})

然后就是在頁面第一次加載的時候我們需要給第一個標簽也做選中和加載active屬性的行為

function initTab(){
    var li = $(".tabs-container .nav-tabs").children()[0];
    $(li).addClass('active')
    var href = $($(".tabs-container .nav-tabs").children()[0]).children()[0].href
    // 做字符串的截取操作
    var aId = href.substring(href.lastIndexOf('tab-'),href.length);
    // 先給所有的 class= tab-pane 的都移除掉 active 屬性
    $(".tab-pane").removeClass('active')
    // 然后單獨給當(dāng)前點擊的添加 active 屬性
    $("#"+aId).addClass("active")
}

具體的效果如下:

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

2.2 圖書信息

??我們添加標簽頁的目的是更好的展示圖書信息。所以在查詢數(shù)據(jù)類型的時候我們需要同步的查詢類型對應(yīng)的書籍信息。首先在圖書類型的bean中關(guān)聯(lián)設(shè)置了對應(yīng)的屬性

@Data
public class BookType {

    private Integer id;
    private String name;
    private String notes;
    private Date createtime;

    private List<Book> books; // 當(dāng)前類型對應(yīng)的圖書信息
}

然后在Servlet中添加了對應(yīng)的處理

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // 查詢所有的類別信息
    List<BookType> list = typeService.list();
    if(list != null && list.size() > 0){
        // 遍歷 每個類型 查詢對應(yīng)的 圖書信息
        for (BookType type : list) {
            Book book = new Book();
            book.setTypeid(type.getId());
            List<Book> books = bookService.list(book);
            type.setBooks(books);
        }
    }
    req.setAttribute("list",list);
    req.getRequestDispatcher("/book/book/showBook.jsp").forward(req,resp);
}

最后在頁面中循序處理展示圖書信息

<div class="tab-content">
    <c:forEach  items="${list}" var="entity">
        <div id="tab-${entity.id}" class="tab-pane">
            <div class="panel-body">
                <div class="row">
                    <c:forEach items="${entity.books}" var="book">
                        <div class="col-sm-4">
                            <div class="contact-box">
                                <div class="col-sm-4">
                                    <div class="text-center">
                                        <img alt="image" class="m-t-xs img-responsive"
                                             src="/sys/downloadServlet?fileName=${book.img}">
                                        <div class="m-t-xs font-bold">CTO</div>
                                    </div>
                                </div>
                                <div class="col-sm-8">
                                    <h3><strong>${book.name}</strong></h3>
                                    <p><i class="fa fa-map-marker"></i> ${book.author}</p>
                                    <address>
                                        <strong>${book.price}</strong><br>
                                        ${book.publish}<br>
                                        Weibo:<a href="">${book.notes}</a><br>
                                        <abbr title="Phone">Tel:</abbr> (123) 456-7890
                                    </address>
                                </div>
                                <div class="clearfix"></div>
                            </div>
                        </div>
                    </c:forEach>
                </div>
            </div>
        </div>
    </c:forEach>

具體效果為:

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

然后可以對展示的圖書的信息做出相關(guān)的調(diào)整和優(yōu)化

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

3.借書功能

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

??借閱數(shù)據(jù)的數(shù)據(jù)會存儲在t_borrow_recoder這張表中,那么與之對應(yīng)就需要完成對應(yīng)的后端CRUD的基礎(chǔ)功能

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

然后在借閱圖書的時候我們需要先判斷當(dāng)前登錄的用戶是否有可以使用的借書卡,如果才能借閱,否則提示不能借閱

// 借閱書籍的方法
function goBorrowing(bookId){
    // 判斷是否有 可用的借書卡
    $.get("/book/borrowCardServlet?action=checkHaveCard",function(data){
        console.log("data",data);
    })
}
/**
 * 檢查當(dāng)前登錄的用戶是否有可用的借書卡
 * @param req
 * @param resp
 * @throws Exception
 */
public void checkHaveCard(HttpServletRequest req, HttpServletResponse resp) throws Exception {
    List<BorrowCard> list = service.listCanUseCard(getCurrentLoginUser(req,resp).getId());
    String msg = "error";
    if(list != null && list.size() > 0){
        msg = "ok";
    }
    PrintWriter writer = resp.getWriter();
    writer.write(msg);
    writer.flush();
}

操作的效果如下:

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

4.借閱管理

??學(xué)生借閱了相關(guān)的圖書后。可以查看所有借閱信息。同時可以做出歸還的操作。這塊管理員可以看到所有的數(shù)據(jù)。但是不能歸還,普通的學(xué)員只能看到自己的借閱記錄。沒有歸還的圖書可以做出歸還的操作。

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

在后臺代碼中的處理核心

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書

展示數(shù)據(jù)的時候。注意按鈕的操作

第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】,圖書管理系統(tǒng),servlet,java,畢設(shè),畢業(yè)設(shè)計,圖書管理,借閱,借書文章來源地址http://www.zghlxwxcb.cn/news/detail-677166.html

到了這里,關(guān)于第七章:借閱管理【基于Servlet+JSP的圖書管理系統(tǒng)】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 計算機操作系統(tǒng)第四版第七章文件管理—課后習(xí)題答案

    計算機操作系統(tǒng)第四版第七章文件管理—課后習(xí)題答案

    ? ? 數(shù)據(jù)項:是最低級的數(shù)據(jù)組織形式,可以分為兩種類型:基本數(shù)據(jù)項和組合數(shù)據(jù)項。基本數(shù)據(jù)項是用于描述一個對象的某種屬性的字符集,是數(shù)據(jù)組織中可以命名的最小邏輯數(shù)據(jù)單位,又稱為字段。組合數(shù)據(jù)項是由若干個基本數(shù)據(jù)項組成的,簡稱組項。 記錄:記錄是一組

    2024年02月03日
    瀏覽(23)
  • 【Rust】Rust學(xué)習(xí) 第七章使用包、Crate和模塊管理不斷增長的項目

    【Rust】Rust學(xué)習(xí) 第七章使用包、Crate和模塊管理不斷增長的項目

    目前為止,我們編寫的程序都在一個文件的一個模塊中。伴隨著項目的增長,你可以通過將代碼分解為多個模塊和多個文件來組織代碼。一個包可以包含多個二進制 crate 項和一個可選的 crate 庫。伴隨著包的增長,你可以將包中的部分代碼提取出來,做成獨立的 crate,這些

    2024年02月13日
    瀏覽(39)
  • 基于FPGA的UDP協(xié)議棧設(shè)計第七章_RGMII模塊設(shè)計

    基于FPGA的UDP協(xié)議棧設(shè)計第七章_RGMII模塊設(shè)計

    該部分內(nèi)容主要需要掌握各種IO和時鐘相關(guān)的原語使用 以太網(wǎng)的通信離不開PHY芯片,PHY芯片實現(xiàn)實現(xiàn)了RGMII接口到網(wǎng)口(RJ45)的轉(zhuǎn)換, RGMII接口就是PHY芯片和FPGA之間的接口。 GMII :GMII(Gigabit Media Independant Interface),千兆MII接口。GMII采用8位接口數(shù)據(jù),工作時鐘125MHz,因此傳

    2024年04月15日
    瀏覽(23)
  • 軟件項目管理 第七章 軟件項目的質(zhì)量管理與配置管理 課后習(xí)題參考答案——主編:李冰、張橋珍、劉玉娥

    軟件項目管理 第七章 軟件項目的質(zhì)量管理與配置管理 課后習(xí)題參考答案——主編:李冰、張橋珍、劉玉娥

    1.選擇題 (1)項目質(zhì)量管理的最終責(zé)任由誰來承擔(dān)?( D ) ?? A.項目開發(fā)人員????????B.采購經(jīng)理????????C.質(zhì)量經(jīng)理????????D.項目經(jīng)理 (2)“質(zhì)量成本”是一個項目管理概念,它說明了下列哪項成本?( C ) ?? A.額外需求的成本????????B.需求變更的成本???????

    2024年02月10日
    瀏覽(22)
  • 第七章 圖論

    第七章 圖論

    第七章 圖論 一、數(shù)據(jù)結(jié)構(gòu)定義 圖的鄰接矩陣存儲法 圖的鄰接表存儲法 把所有節(jié)點存儲為節(jié)點數(shù)組,每個節(jié)點里有自己的數(shù)據(jù)和一個邊指針,這個邊指針相當(dāng)于一個鏈表的頭指針,這個鏈表里存放所有與這個節(jié)點相連的邊,邊里存放該邊指向的節(jié)點編號和下一條邊指針 圖的

    2024年02月14日
    瀏覽(79)
  • 第七章 函數(shù)矩陣

    第七章 函數(shù)矩陣

    和矩陣函數(shù)不同的是,函數(shù)矩陣本質(zhì)上是一個矩陣,是以函數(shù)作為元素的矩陣。 矩陣函數(shù)本質(zhì)上是一個矩陣,是以矩陣作為自變量的函數(shù)。 函數(shù)矩陣和數(shù)字矩陣的運算法則完全相同。 不過矩陣的元素 a i j ( x ) a_{ij}(x) a ij ? ( x ) 需要是閉區(qū)間 [ a , b ] [a,b] [ a , b ] 上的實函數(shù)

    2024年02月04日
    瀏覽(22)
  • 第七章金融中介

    ?? ? ? ? 金融中介是通過向資金盈余者發(fā)行 間接融資合約( 如存款單),并和資金短缺者達成 間接投資合約 (發(fā)放信貸)或購買其發(fā)行的證券,在資金供求方之間融通資金,對資金跨期、跨域進行優(yōu)化配置的金融機構(gòu)。 ? ? ? ? 金融體系由金融市場和金融中介構(gòu)成,以銀行業(yè)為

    2024年02月04日
    瀏覽(27)
  • python第七章(字典)

    python第七章(字典)

    一。字典(類型為dict)的特點: 1.符號為大括號 2.數(shù)據(jù)為鍵值對形式出現(xiàn) 3.各個鍵值對之間以逗號隔開 格式:str1={\\\'name\\\':\\\'Tom\\\'}? name相當(dāng)于鍵值(key),Tom相當(dāng)于值 二??兆值涞膭?chuàng)建方法 三。字典的基本操作(增刪改查) 1.字典的增加操作:字典序列[key] = 值 注意點:如果存

    2024年01月24日
    瀏覽(46)
  • 第七章 測試

    第七章 測試

    7.1.1 選擇程序設(shè)計語言 1. 計算機程序設(shè)計語言基本上可以分為匯編語言和高級語言 2. 從應(yīng)用特點看,高級語言可分為基礎(chǔ)語言、結(jié)構(gòu)化語言、專用語言 01 有理想的模塊化機制; 02 可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu); 03 便于調(diào)試和提高軟件可靠性; 04 編譯程序發(fā)現(xiàn)程序錯誤的

    2024年02月08日
    瀏覽(29)
  • [JavaScript] 第七章 對象

    [JavaScript] 第七章 對象

    ??作者主頁:青花鎖 ??簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??、Java微服務(wù)架構(gòu)公號作者?? ??簡歷模板、學(xué)習(xí)資料、面試題庫、技術(shù)互助 ??文末獲取聯(lián)系方式 ?? [Java項目實戰(zhàn)] 介紹Java組件安裝、使用;手寫框架等 [Aws服務(wù)器實戰(zhàn)] Aws Linux服務(wù)器上操作nginx、git、JDK、Vue等 [Java微服務(wù)

    2024年02月02日
    瀏覽(61)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包