亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        圖書管理系統(tǒng)開發(fā)與設(shè)計(jì)

        2013-04-29 00:00:00徐航
        大陸橋視野·下 2013年3期

        摘 要 隨著電子計(jì)算機(jī)和通信技術(shù)的發(fā)展,人類已經(jīng)逐漸地進(jìn)入信息化社會(huì)。如何獲取信息,圖書當(dāng)然是我們最好的獲取信息的方式之一。但由于圖書館圖書收藏量大大增加,使傳統(tǒng)的圖書管理員的工作日益繁重起來,對(duì)讀者去圖書館借書造成了一定困擾。因此,圖書管理系統(tǒng)也以方便、快捷的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的圖書管理方式徹底地解脫出來,這不僅提高效率,減輕工作人員的工作量,減小出錯(cuò)的概率,也使讀者可以花更多的時(shí)間在選擇書和看書上。該圖書管理系統(tǒng)主要采用MySQL為后臺(tái)數(shù)據(jù)庫,基于SSH架構(gòu)的管理平臺(tái)。

        關(guān)鍵詞 圖書管理系統(tǒng) 數(shù)據(jù)庫管理 SSH

        一、程序主界面

        程序啟動(dòng)后,進(jìn)入程序主界面。

        圖1 主頁面

        二、搜索頁面

        圖2 檢索頁面

        查詢結(jié)果頁面用于顯示根據(jù)傳遞過來的參數(shù)查詢出的數(shù)據(jù)。在此頁面下讀者可以清楚地看到所有書的信息,包括書名、作者、庫存數(shù)、出版社信息。

        三、借閱書刊信息

        圖3 書刊詳細(xì)信息頁面

        此該模塊下借閱者可以清楚看到借閱書刊信息用來顯示書刊的名稱,作者,借閱時(shí)間以及歸還時(shí)間。

        四、讀者管理模塊

        1.讀者登錄。

        圖4 借閱者登錄頁面

        在該模塊下借閱者可以通過注冊(cè)自己的用戶名及密碼進(jìn)行登錄借書頁面。

        2.借閱者已借閱模塊。

        圖5 已借圖書界面

        在該模塊下借閱者可以清楚地看到借閱者已經(jīng)借閱到的書刊。

        實(shí)現(xiàn)“待審核借閱”的代碼如下:

        public String myUnderApproval(){

        this.listUnderApproval = new ArrayList();

        try {

        ActionContext ac = ActionContext.getContext();

        @SuppressWarnings(“rawtypes”)

        Map session = ac.getSession();

        User user = (User)session.get(“user”);

        if(user == 1 || ““.equals(user)){

        HttpServletRequest request = ServletActionContext.getRequest();

        HttpServletResponse response = ServletActionContext.getResponse();

        response.sendRedirect(request.getContextPath() + “/login.jsp”);

        return “l(fā)ogin”;

        }

        this.listUnderApproval = this.bookRecordService.getBookByUser(user, 0);

        System.out.println(“l(fā)ist.size:“+this.listUnderApproval.size());

        } catch (Exception e) {

        e.printStackTrace();

        }

        return “myUnderApproval”;

        }

        3.管理員登錄。

        圖6 管理員登錄頁面

        在該模塊下可以實(shí)現(xiàn)管理員的登錄。

        實(shí)現(xiàn)“管理員登陸”的代碼如下:

        public String mangerLogin(){

        boolean b = this.managerService.checkUser(this.manager.getManagerName(),this.manager.getPassword());

        if(b){

        this.userService.clearUserFromSession();

        Manager manager = new Manager();

        manager = this.managerService.findManagerByManagerName(this.manager.getManagerName());

        his.managerService.saveManagerToSession(manager);

        return “manager”;

        }else{

        return “mangerLogin”;

        }

        }

        五、添加圖書信息

        圖7 添加圖書信息頁面

        在該模塊下管理員可以完成對(duì)圖書的添加,其中包括圖書的一些基本信息。

        實(shí)現(xiàn)“添加圖書”的代碼如下:

        public String addBook(){

        String imageName = this.getUploadFileName();

        String result = ““;

        if(imageName != 1 !”“.equals(imageName)){

        String[] temps = imageName.split(”\\.“);

        if(temps.length>1){

        //String name = URLEncoder.encode(temps[0]);

        result = this.book.getIsbn()+”.“+temps[1];

        }

        }else{

        result = “default.jpg”;

        }

        this.book.setImage(result);

        if(this.managerService.addObject(this.book)){

        HttpServletRequest request = 1;

        try {

        request = ServletActionContext.getRequest();

        request.setCharacterEncoding(“utf-8”);

        String realPath = request.getSession().getServletContext().getRealPath(“/”);

        String path = realPath+“bookimage/”;

        InputStream is = new FileInputStream(this.getUpload());

        OutputStream os = new FileOutputStream(path+result);

        byte[] b = new byte[1024];

        int size = is.read(b);

        while(size>0){

        os.write(b, 0, size);

        size = is.read(b);

        System.out.println(“realPath:“+realPath);

        } catch (Exception e) {

        e.printStackTrace();

        }

        return “addBook”;

        }else{

        return INPUT;

        }

        }

        }

        六、圖書歸還時(shí)管理員的操作模塊

        圖8 圖書借閱登記頁面

        在該模塊下實(shí)現(xiàn)了借閱者歸還書籍時(shí)管理員對(duì)借閱書籍的查詢。在用戶名處輸入借書者的用戶名,管理員即可查詢?cè)撚脩艚钑那闆r。

        實(shí)現(xiàn)“辦理還書”的代碼如下:

        public String returnBook(){

        try {

        ActionContext ac = ActionContext.getContext();

        @SuppressWarnings(“rawtypes”)

        Map session = ac.getSession();

        User user = (User)session.get(“user”);

        if(user == 1 || ““.equals(user)){

        HttpServletRequest request = ServletActionContext.getRequest();

        HttpServletResponse response = ServletActionContext.getResponse();

        response.sendRedirect(request.getContextPath() + “/login.jsp”);

        return “l(fā)ogin”;

        }

        List listBookRecord = new ArrayList();

        System.out.println(“this.bookId:“+this.bookId);

        Book book = new Book();

        book = (Book)this.bookRecordService.getObjectById(Book.class, Integer.parseInt(this.bookId));

        istBookRecord = this.bookRecordService.getBookIdFromBookRecord(user,book,1);

        for(int i=0;i

        BookRecord bookRecord = new BookRecord();

        bookRecord = listBookRecord.get(i);

        bookRecord.setConfirm(2);

        Date actualReturnDate = DateUtil.getFormatDate();

        bookRecord.setActualReturnDate(actualReturnDate);

        this.bookRecordService.updateObject(bookRecord);

        }

        } catch (Exception e) {

        e.printStackTrace();

        }

        return “returnBook”;

        }

        七、圖書定損賠償模塊

        圖9 圖書歸還頁面

        在該模塊下實(shí)現(xiàn)了對(duì)損壞圖書的賠償處罰。此功能實(shí)現(xiàn)了對(duì)涂抹程度及損壞頁數(shù)的賠償金計(jì)算功能,并會(huì)自動(dòng)計(jì)算出賠償價(jià)格。如果沒有損壞可直接辦理還書手續(xù)。

        實(shí)現(xiàn)“計(jì)算賠付金”的代碼如下:

        /**

        * 計(jì)算賠償金

        *1.珍貴圖書:每過期一天,需繳納二角人民幣。 非珍貴圖書:每過期一天,需繳納一角人民幣。

        2.珍貴圖書:每損壞一頁,需繳納二元人民幣,損壞超過五頁,按原價(jià)賠償。 非珍貴圖書:每損壞一頁,

        需繳納一元人民幣,損壞超過十頁,按原價(jià)賠償。

        3、珍貴圖書:涂抹輕微,需繳納十元人民幣,涂抹嚴(yán)重,按原價(jià)賠償。 非珍貴圖書:涂抹輕微,

        需繳納五元人民幣,涂抹嚴(yán)重,按原價(jià)賠償。

        * @return

        */

        public String compensation(){

        this.compensationNum = 0.0f;

        System.out.println(this.damageNumber);

        System.out.println(this.compensationNum);

        System.out.println(this.bookRecord.getBook().getPrice());

        //1.珍貴圖書:

        if(this.bookRecord.getBook().getIsPrecious() == 1){

        //涂抹計(jì)算

        if(“1”.equals(this.degree)){

        this.compensationNum += 10.0f;

        }else if(“2”.equals(this.degree)){

        this.compensationNum = this.bookRecord.getBook().getPrice();

        }

        //損壞計(jì)算

        if(Integer.parseInt(this.damageNumber) < 6){

        this.compensationNum += Integer.parseInt(this.damageNumber)*2;

        }else if(Integer.parseInt(this.damageNumber) > 5){

        this.compensationNum = this.bookRecord.getBook().getPrice();

        }

        //過期計(jì)算

        Date returnDate = this.bookRecord.getReturnDate();//應(yīng)還時(shí)間

        Date actualReturnDate = this.bookRecord.getActualReturnDate();//實(shí)際還書時(shí)間

        long days = 0l;

        if(actualReturnDate.after(returnDate)){

        days = returnDate.getTime() - actualReturnDate.getTime();

        days = days / 1000 / 60 / 60 / 24;

        his.compensationNum += days*0.2;

        }

        }else{

        //2.非珍貴圖書:

        //涂抹計(jì)算

        if(“1”.equals(this.degree)){

        this.compensationNum += 5.0f;

        }else if(“2”.equals(this.degree)){

        this.compensationNum = this.bookRecord.getBook().getPrice();

        }

        //損壞計(jì)算

        if(Integer.parseInt(this.damageNumber) < 11 this.compensationNum != this.bookRecord.getBook().getPrice()){

        this.compensationNum += Integer.parseInt(this.damageNumber)*1;

        }else if(Integer.parseInt(this.damageNumber) > 10){

        this.compensationNum = this.bookRecord.getBook().getPrice();

        }

        //過期計(jì)算

        Date returnDate = this.bookRecord.getReturnDate();//應(yīng)還時(shí)間

        Date actualReturnDate = this.bookRecord.getActualReturnDate();//實(shí)際還書時(shí)間

        long days = 0l;

        if(actualReturnDate.after(returnDate)){

        days = actualReturnDate.getTime()-returnDate.getTime();

        days = days / 1000 / 60 / 60 / 24;

        this.compensationNum += days*0.1;

        }

        }

        if(this.compensationNum > this.bookRecord.getBook().getPrice()){

        this.compensationNum = this.bookRecord.getBook().getPrice();

        }

        return “compensation”;

        }

        實(shí)現(xiàn)“確認(rèn)還書”的代碼如下:

        public String confirmRuturnBook(){

        try {

        System.out.println(“this.bookId:“+this.bookId);

        Book book = new Book();

        book = (Book)this.bookRecordService.getObjectById(Book.class, Integer.parseInt(this.sbookId.trim()));

        User user = new User();

        String userName = new String(this.userName.getBytes(”ISO-8859-1“), “UTF-8”);

        System.out.println(“this.userName:“+userName);

        user = this.userService.findUserByUserName(userName);

        List list = this.bookRecordService.getBookIdFromBookRecord(user, book, 2);

        BookRecord bookRecord = new BookRecord();

        bookRecord = list.get(0);

        //確認(rèn)還書,將book中的圖書數(shù)量加1

        int bookNumber = book.getBookNumber();

        book.setBookNumber(bookNumber+1);

        this.managerService.updateObject(book);

        this.managerService.deleteObject(bookRecord);

        } catch (Exception e) {

        e.printStackTrace();

        }

        return “confirmRuturnBook”;

        }

        參考文獻(xiàn)

        [1]郭瑞軍,郭磬君.ASP.NET 2.0數(shù)據(jù)庫開發(fā)實(shí)例精粹.北京:電子工業(yè)出版社,2006.

        [2]周伶俐.ASP畢業(yè)設(shè)計(jì)指南與項(xiàng)目實(shí)踐.北京:科學(xué)出本社,2007年.

        [3]孫更新,陳月,周峰.ASP+SQL Server2005動(dòng)態(tài)網(wǎng)站建設(shè).北京:電子工業(yè)出版社,2007.

        [4]宣小平,但正剛,張文毅.ASP數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例導(dǎo)航.北京:人民郵電出版社,2003.

        [5]施威銘.Microsoft SQL Server2005中文版設(shè)計(jì)實(shí)務(wù).北京:機(jī)械工業(yè)出版社,2008.

        [6]曹錳,舒新峰.C#與ASP.NET程序設(shè)計(jì).西安: 西安交通大學(xué)出版社, 2005.

        [7]李千目,嚴(yán)哲,等. ASP.NET程序設(shè)計(jì)與應(yīng)用開發(fā).北京: 清華大學(xué)出版社,2009.

        [8]王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論. 第四版.北京.高等教育出版社,2006.

        [9]邵兵家.電子商務(wù)概論.第二版.北京:高等教育出版社,2006.

        亚洲中文字幕视频第一二区| 亚洲色欲久久久久综合网| 无遮挡亲胸捏胸免费视频| 韩国无码精品人妻一区二 | 99久久婷婷国产精品综合| 狠狠色丁香婷婷久久综合| 不卡高清av手机在线观看| 国产在线不卡免费播放| 北岛玲亚洲一区二区三区| 99国产精品久久99久久久| 国产精品_国产精品_k频道w| 精品无码AV无码免费专区| 国产少妇一区二区三区| 中文字日产幕码三区的做法大全| 国产97在线 | 亚洲| 免费中文熟妇在线影片| 亚洲中文字幕免费精品| 男女肉粗暴进来动态图| 国产乱人伦精品一区二区| 国产福利97精品一区二区| 国产精品亚洲综合久久| 国产电影一区二区三区| 亚洲中文久久精品无码ww16| 水蜜桃一二二视频在线观看免费 | 色男色女午夜福利影院| 久久性爱视频| 中文字幕无码无码专区| 人妻少妇精品系列一区二区 | 亚洲av无码专区在线| 三上悠亚av影院在线看| 亚洲蜜芽在线精品一区| 久久96日本精品久久久| 2018国产精华国产精品| 欧美一级视频精品观看| av免费在线观看在线观看| 夜夜高潮夜夜爽夜夜爱爱一区| 韩国精品一区二区三区无码视频| 无码AV午夜福利一区| 国产精品综合一区久久| 农村欧美丰满熟妇xxxx| 超碰Av一区=区三区|