亚洲免费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ā)模式研究
        日本一区二区三区视频在线观看| 日本一本久道| 99riav精品国产| 亚洲综合精品一区二区 | 精品久久久久久无码专区| 一本色道久久亚洲av红楼| 精品久久久久久蜜臂a∨| 亚洲色欲色欲www在线观看| 中文字幕综合一区二区| 婷婷色国产精品视频一区| 日韩精品无码区免费专区| 高潮毛片无遮挡高清视频播放 | 亚洲av午夜成人片精品| 无码av免费一区二区三区| av天堂久久天堂av色综合| 青春草在线视频精品| 手机在线免费观看的av| 亚洲av套图一区二区| 中文字幕一区二区av| 成年女人黄小视频| 亚洲欧美在线播放| 国产偷拍盗摄一区二区| 免费在线观看视频播放| 国产精品久久久久影院| 久久国产精品视频影院| 日本免费三级一区二区| 成人中文乱幕日产无线码| 免费人成年小说在线观看| 精品视频在线观看一区二区有| 美女人妻中出日本人妻| 久精品国产欧美亚洲色aⅴ大片| 午夜无码一区二区三区在线| 亚洲女同系列高清在线观看| 亚洲女人的天堂网av| 亚洲av永久无码精品一福利| 国产人在线成免费视频| jlzzjlzz全部女高潮| 一区二区三区日韩毛片| 呦系列视频一区二区三区| 亚洲精品无码高潮喷水在线| 精品亚洲一区二区视频|