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

        ?

        JSP開發(fā)環(huán)境下的數(shù)據(jù)分頁技術(shù)探討

        2021-05-09 01:06:57潘國榮
        現(xiàn)代信息科技 2021年20期
        關(guān)鍵詞:開發(fā)模式

        摘? 要:數(shù)據(jù)分頁是用JSP開發(fā)Web應(yīng)用程序時經(jīng)常要用到的一種技術(shù)。在頁面上要展示從數(shù)據(jù)庫中取出的大量數(shù)據(jù)時,就需要對數(shù)據(jù)進(jìn)行分頁處理,分頁處理主要涉及待分頁的記錄數(shù)據(jù)的獲取、記錄總數(shù)和總頁數(shù)的計算、每頁記錄數(shù)的設(shè)定、當(dāng)前頁數(shù)據(jù)的存放等,這在不同的開發(fā)模式下處理過程是有區(qū)別的。文章對在JSP開發(fā)環(huán)境中三種不同開發(fā)模式下的數(shù)據(jù)分頁方法進(jìn)行了探討。

        關(guān)鍵詞:JSP;開發(fā)模式;數(shù)據(jù)分頁技術(shù)

        中圖分類號:TP311? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2021)20-0033-03

        Discussion on Data Paging Technology under JSP Development Environment

        PAN Guorong

        (Changzhou Liu Guojun Vocational Technology College, Changzhou? 213025, China)

        Abstract: Data paging is a technology often used when developing Web applications with JSP. When you want to display a large amount of data taken from the database on the page, you need to page the data. The paging processing mainly involves the acquisition of the record data to be paged, the calculation of the total number of records and total pages, the setting of the number of records per page, the storage of the current page data, etc. the processing process is different under different development modes. This paper discusses the data paging methods under three different development modes in JSP development environment.

        Keywords: JSP; development mode; data paging technology

        0? 引? 言

        JSP技術(shù)是現(xiàn)在常用的一種開發(fā)動態(tài)網(wǎng)站的技術(shù),在開發(fā)實際應(yīng)用程序時,經(jīng)常要將數(shù)據(jù)庫中大量的數(shù)據(jù)取出后展示在頁面上,這就需要對數(shù)據(jù)進(jìn)行分頁處理,否則頁面上要顯示的數(shù)據(jù)可能遠(yuǎn)遠(yuǎn)超出一個頁面范圍,應(yīng)用程序界面對用戶來講就不太友好。本文根據(jù)本人開發(fā)的一個在教學(xué)中已實際使用的案例-學(xué)生成績基本信息維護(hù)系統(tǒng)為例,對基于不同的JSP開發(fā)模式下數(shù)據(jù)的分頁處理方法進(jìn)行分析和論述。

        1? 數(shù)據(jù)分頁處理概述

        數(shù)據(jù)分頁就是將數(shù)據(jù)從后臺數(shù)據(jù)庫中查詢出來之后按用戶需要進(jìn)行分頁顯示,每一頁上顯示一定數(shù)量的記錄數(shù)據(jù),使得數(shù)據(jù)的展示更加符合用戶需要,清晰、美觀合理。這時,我們可以用分頁技術(shù)。下面我們以學(xué)生信息維護(hù)系統(tǒng)中學(xué)生數(shù)據(jù)的分頁為例進(jìn)行說明。程序運(yùn)行時頁面中數(shù)據(jù)分頁情況如圖1所示。

        數(shù)據(jù)庫的設(shè)計比較簡單,只要在其中設(shè)計一張學(xué)生基本信息表即可,表名為studenttb,表結(jié)構(gòu)如表1所示。

        在進(jìn)行分頁處理時,基本方法是先將要分頁的數(shù)據(jù)從數(shù)據(jù)庫表中取出,并存放至一個session范圍內(nèi)的對象中,然后計算出總的記錄數(shù),根據(jù)設(shè)定的每頁記錄數(shù)計算出總的頁數(shù),按照要顯示的目標(biāo)頁的頁碼計算出當(dāng)?shù)谝粭l記錄的位置,取出目標(biāo)頁上的記錄數(shù)據(jù)進(jìn)行顯示,頁面數(shù)據(jù)行下面的“首頁”“上一頁”“下一頁”“末頁”超鏈接按具體記錄條數(shù)進(jìn)行顯示或隱藏處理。

        2? 三種開發(fā)模式下數(shù)據(jù)分頁的分析、設(shè)計及實現(xiàn)

        2.1? JSP+JavaBean開發(fā)模式

        在這種模式下,先編制一個用于存放學(xué)生信息的JavaBean實體類,屬性與表studenttb對應(yīng)。分頁處理的主要代碼都是寫在一個頁面文件studentlistbypage.jsp中的,在頁面的開始處:

        //從sStudent獲取要分頁的數(shù)據(jù),存放至列表對象中

        List sStudent=(List)session.getAttribute(“StudentList”);

        int recordCount=0; //記錄總數(shù)

        int pageSize=5; //設(shè)定的每頁記錄數(shù)

        int pageCount=0; //總頁數(shù)

        在表格的數(shù)據(jù)行之前,計算記錄總數(shù)、總頁數(shù),把記錄指針移指當(dāng)前頁第一條記錄之前,取出要顯示的目標(biāo)頁的數(shù)據(jù)顯示在表格數(shù)據(jù)行中:

        recordCount=sStudent.size();

        if( recordCount % pageSize==0)

        pageCount=recordCount / pageSize;

        else

        pageCount=recordCount/pageSize + 1;

        int start=(currentPage-1)*pageSize;

        int n=0;

        //循環(huán)取出pageSize條記錄

        for(int i = start;i < sStudent.size();i++)

        {

        Student student=(Student)sStudent.get(i);

        ……

        在表格的數(shù)據(jù)行下面形成的Goto及翻頁的超鏈接:

        out.print(“首頁? “);

        out.print(“上一頁? “);

        out.print(“下一頁? “);

        out.print(“末頁");

        2.2? JSP+JavaBean+Servlet開發(fā)模式

        在這種模式下,可以將存放分頁的數(shù)據(jù)、當(dāng)前頁記錄數(shù)據(jù)、記錄總數(shù)、總頁數(shù)等一些變量的定義單獨(dú)組織在一個常量類Constants中,重點是編制一個Servlet類PageServlet,用作控制器。在該類中先根據(jù)傳入的要分頁的記錄數(shù)據(jù),計算出記錄總數(shù)、總頁數(shù),分離出目標(biāo)頁中的記錄數(shù)據(jù),將這些數(shù)據(jù)保存起來,再轉(zhuǎn)至目標(biāo)頁面;在頁面中,只要取出前面保存的數(shù)據(jù),直接用循環(huán)顯示出來即可。PageServlet.java類的關(guān)鍵代碼如下:

        ……

        public class PageServlet extends HttpServlet

        {

        //doPost方法

        public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException

        {

        request.setCharacter Encoding(“utf-8”);

        String strCurrentPage = request. getParameter (“currentPage”);

        //計算記錄總數(shù)、總頁數(shù),分離出目標(biāo)頁中的記錄數(shù)據(jù)

        ……

        //保存相關(guān)數(shù)據(jù)至session級變量中

        session.setAttribute (Const- ants.PageList, pageList);

        session.setAttribute(Const- ants.RecordCount, recordCount);

        session.setAttribute(Const- ants.PageCount? ,pageCount);

        session.setAttribute(Const- ants.CurrentPage ,currentPage);

        response.sendRedirect(“stud- entlistbypage.jsp”);

        }

        在頁面文件studentlistbypage.jsp中,取出Servlet類中保存的session范圍內(nèi)各變量的值,將當(dāng)前頁的數(shù)據(jù)在數(shù)據(jù)行中顯示出來,表格的數(shù)據(jù)行下面形成的Goto及翻頁的超鏈接:

        out.print(“首頁? “);

        out.print(“上一頁? “);

        out.print(“下一頁? “);

        out.print(“末頁");

        2.3? Struts框架模式

        在這種模式下,主要是將Servlet類改成自定義動作類,用作控制器。自定義動作類PageAction的功能與PageServlet功能一致,編制時只需將PageServlet.java類文件中doPost()方法中的代碼復(fù)制至PageAction.java類文件中的execute()方法中進(jìn)行修改,主要代碼如下:

        ……

        public class PageAction extends Action

        {

        public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exception

        {

        String strCurrentPage =request.getParameter (“currentPage”);

        ……

        //保存相差數(shù)據(jù)至session級變量中

        session.setAttribute(Constants.PageList, pageList);

        session.setAttribute(Constants.RecordCount, recordCount);

        session.setAttribute(Constants.PageCount? ,pageCount);

        session.setAttribute(Constants.CurrentPage ,currentPage);

        return? ?mapping.findForward(“ListByPage”);

        }

        }

        將第二種模式中的頁面文件studentlistbypage.jsp修改,將面前面超鏈接中原來對Servlet的調(diào)用改成對自定義動作類的調(diào)用:

        out.print(“首頁? “);

        out.print(“上一頁? “);

        out.print(“下一頁? “);

        out.print(“末頁");

        3? 結(jié)? 論

        在用JSP開發(fā)Web應(yīng)用程序時,對數(shù)據(jù)進(jìn)行分頁處理是經(jīng)常要用到的一種技術(shù)。本文通過學(xué)生基本信息數(shù)據(jù)進(jìn)行分頁處理這樣一個實例,分析了在三種不同開發(fā)模式下數(shù)據(jù)分頁處理的方法及步驟,可以很方便地將其移植至其他JSP實際應(yīng)用中,進(jìn)一步簡化JSP的開發(fā)。

        參考文獻(xiàn):

        [1] 馬建紅,李占波.JSP應(yīng)用與開發(fā)技術(shù) [M].北京:清華大學(xué)出版社,2016.

        [2] 張國權(quán),張凌子.Java Web程序設(shè)計實戰(zhàn) [M].上海:上海交通大學(xué)出版社,2017.

        [3] 張銀鶴,劉治國,張豪.JSP動態(tài)網(wǎng)站開發(fā)實踐教程 [M].北京:清華大學(xué)出版社,2009.

        [4] 孫更新,賓晟,周峰.Struts框架結(jié)構(gòu)的Java Web開發(fā)技術(shù)基礎(chǔ)與實踐教程 [M].北京:電子工業(yè)出版社,2008.

        [5] 劉德山,金百東.Java程序設(shè)計 [M].北京:科學(xué)出版社,2012.

        作者簡介:潘國榮(1966—),男,漢族,江蘇溧陽人,高級教師,高級程序員,本科,主要研究方向:計算機(jī)軟件應(yīng)用技術(shù)。

        猜你喜歡
        開發(fā)模式
        鼓浪嶼音樂旅游發(fā)展模式探析
        淺談鄉(xiāng)村旅游的開發(fā)和利用
        商(2016年25期)2016-07-29 09:13:29
        基于JSP技術(shù)的常用開發(fā)模式分析及運(yùn)用
        我國鄉(xiāng)村旅游驅(qū)動機(jī)制與開發(fā)模式研究
        非物質(zhì)文化遺產(chǎn)的旅游開發(fā)模式與優(yōu)化策略
        人民論壇(2016年11期)2016-05-17 12:03:36
        邢臺微營銷市場前景與開發(fā)模式研究
        色爱区综合激情五月综合小说| 男女无遮挡高清性视频| 欧美老肥妇做爰bbww| 免费a级毛片无码无遮挡| 99热门精品一区二区三区无码| 一区二区三区岛国av毛片| 国产乱精品女同自线免费| 超碰cao已满18进入离开官网| 7878成人国产在线观看| 国产粉嫩嫩00在线正在播放| 中文字幕一区二区av| 99精品久久精品一区二区| 午夜家庭影院| 亚洲国产综合精品久久av| 国产在线91精品观看| 久久精品国产亚洲av无码娇色| 奇米影视久久777中文字幕 | 精品久久人人妻人人做精品| 人妻被猛烈进入中文字幕| 少妇被躁到高潮和人狍大战| 肥老熟妇伦子伦456视频| 人人添人人澡人人澡人人人人| 亚洲va在线va天堂va四虎| 在线不卡精品免费视频| 无码中文字幕日韩专区| 人妻熟妇乱又伦精品视频app| 男人深夜影院无码观看| 国产高清视频在线不卡一区| av永久天堂一区二区三区| 无码国产亚洲日韩国精品视频一区二区三区 | 免费在线观看av不卡网站| 极品av麻豆国产在线观看| 国产精品九九九久久九九| 人妻少妇不满足中文字幕| 国内精品久久人妻互换| 成人午夜高潮a∨猛片| 亚洲成色www久久网站夜月| 午夜无码熟熟妇丰满人妻| 久久亚洲精品国产av| 高清毛茸茸的中国少妇| 国产性猛交╳xxx乱大交|