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

        ?

        基于MVC的軟件自定義的實(shí)現(xiàn)

        2018-08-29 10:59:06周紹景華德志應(yīng)杰潘宏斌楊正元
        中國(guó)科技縱橫 2018年15期

        周紹景 華德志 應(yīng)杰 潘宏斌 楊正元

        摘 要:隨著互聯(lián)網(wǎng)的不斷發(fā)展,軟件平臺(tái)也不斷增加。平臺(tái)用戶不在局限于軟件的使用效率,個(gè)性化服務(wù)也逐步變得重要。利用JSP開(kāi)發(fā)技術(shù)和SQL Server數(shù)據(jù)庫(kù)技術(shù)設(shè)計(jì)實(shí)現(xiàn)的軟件自定義系統(tǒng),更好地為用戶提供了個(gè)性化服務(wù)。

        關(guān)鍵詞:軟件平臺(tái);個(gè)性化服務(wù);前端自定義

        中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2018)15-0023-02

        目前軟件平臺(tái)的大幅增加,用戶對(duì)平臺(tái)的要求不僅是平臺(tái)應(yīng)用的穩(wěn)定性和實(shí)用性,還希望有選擇性。實(shí)現(xiàn)軟件應(yīng)用的自定義可增加平臺(tái)多樣性[1],使用戶擁有“個(gè)性化”服務(wù)[2]。用戶能夠根據(jù)喜好添加或刪除軟件應(yīng)用進(jìn)行自定義。

        1 需求分析

        軟件自定義是用戶根據(jù)個(gè)人喜好添加或刪除軟件服務(wù)模塊的過(guò)程。

        1.1 視圖需求

        自定義界面視圖需要根據(jù)用戶對(duì)個(gè)人應(yīng)用的修改而變化。站點(diǎn)利用Cookie儲(chǔ)存數(shù)據(jù)[3],JS獲取Cookie中數(shù)據(jù)對(duì)頁(yè)面做出相應(yīng)改變。用戶方面的視圖需求包括非注冊(cè)用戶視圖與注冊(cè)用戶視圖兩個(gè)方面,二者的區(qū)別在于非注冊(cè)用戶只能將數(shù)據(jù)儲(chǔ)存到Cookie中來(lái)獲取,而注冊(cè)用戶既能將數(shù)據(jù)儲(chǔ)存到Cookie中獲取,也能將數(shù)據(jù)儲(chǔ)存到服務(wù)器中獲取。管理員與注冊(cè)用戶相同,修改應(yīng)用插件數(shù)據(jù)既能儲(chǔ)存到Cookie中獲取[4],也能儲(chǔ)存到服務(wù)端獲取。

        1.2 功能需求

        非注冊(cè)用戶訪問(wèn)站點(diǎn)進(jìn)行應(yīng)用的自定義時(shí),通過(guò)Cookie存儲(chǔ)游客的自定義數(shù)據(jù),而登陸用戶訪問(wèn)站點(diǎn)自定義應(yīng)用時(shí)將自定義數(shù)據(jù)儲(chǔ)存到服務(wù)端,同時(shí)將數(shù)據(jù)同時(shí)存儲(chǔ)到Cookie中以便記錄用戶偏好設(shè)置以及二次使用,業(yè)務(wù)流程如圖1所示。

        2 軟件自定義實(shí)現(xiàn)

        2.1 視圖實(shí)現(xiàn)

        根據(jù)試圖需求,首先創(chuàng)建存儲(chǔ)應(yīng)用數(shù)據(jù)的Cookie,主要代碼:

        Cookie cookies[]=request.getCookies()

        Cookie c=null

        for(int i=0;i

        c=cookies[i]

        if(c!=null){

        if(("cn").equals(c.getName())){

        pageContext.setAttribute("SavedUserName",c.getValue())}}

        創(chuàng)建Cookie并儲(chǔ)存修改數(shù)據(jù)后,使用JS代碼獲取Cookie中的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行操作,修改個(gè)人應(yīng)用頁(yè)面信息,主要代碼:

        n=request.getParameter("n")

        d=request.getParameter("d");

        dr=request.getParameter("dr");

        if(!"".equals(n) &&!"".equals(d) &&!"".equals(dr) && request.getParameter("RmbUser")!= null){

        Cookie nc=new Cookie("anc",n);

        Cookie dc=new Cookie("adc",d);

        Cookie drc=new Cookie("adrc",dr);

        cookie.setMaxAge(365*24*60*60);

        response.addCookie(anc);

        response.addCookie(adc);

        response.addCookie(adrc);}

        而注冊(cè)用戶和管理員不僅需要從Cookie中獲取值,還需要從服務(wù)器端獲取值,所以在JSP頁(yè)面還需要利用Session獲取服務(wù)器端的值,實(shí)現(xiàn)表達(dá)式:<%=session. getAttribute("fl") %>。

        2.2 功能實(shí)現(xiàn)

        功能的實(shí)現(xiàn)與視圖的實(shí)現(xiàn)類似,同樣,用戶分為非注冊(cè)用戶和注冊(cè)用戶。非注冊(cè)用戶體驗(yàn)應(yīng)用的添加與刪除,利用Cookie存儲(chǔ)修改數(shù)據(jù),不能將數(shù)據(jù)儲(chǔ)存到服務(wù)器端,主要代碼:

        function getCookie(sn){

        if (document.cookie.length>0){c_start=document.cookie.indexOf(sn + "=")

        if (c_start!=-1){ c_start=c_start + c_name.length+1

        c_end=document.cookie.indexOf(";",c_start)if (c_end==-1) c_end=document.cookie.length

        return unescape(document.cookie.substring(c_start,c_end))} }return ""}

        function setCookie(sc,value,expiredays){

        exdate=new Date() exdate.setDate(exdate.getDate()+expiredays)

        document.cookie=c_n+ "=" +escape(value)+((expiredays==null) ? "" : ;expires="+exdate.toGMTString())}

        function checkCookie(){sname=getCookie('sname');servicedescribe=getCookie('sdescribe')

        if (sname!=null&&sname;!=""&&sdescribe;!=null && sdescribe!="")

        {alert('添加成功!')}else{alert('添加失?。?)}}}

        注冊(cè)用戶將修改的信息提交服務(wù)端保存,以便下次登陸使用,主要代碼:

        管理員主要負(fù)責(zé)應(yīng)用插件的管理(添加或刪除服務(wù)插件),修改插件的數(shù)據(jù)存儲(chǔ)到Cookie與服務(wù)端,Cookie主要代碼參考用戶功能實(shí)現(xiàn),服務(wù)器端的主要代碼:

        if (method.equals("S_p")) {

        int id=request.getParameter("id");;

        String SName = request.getParameter("SName");

        String SDescribe = request.getParameter("SDescribe");

        String SAddress = request.getParameter("SAddress");

        int i = db.insertRecord("INSERT INTO S_p (id,SName,SDescribe,SAddress)

        VALUES ('"+id+"','"+SName+"','"+SDescribe+"','"+SAddress+"')");

        if (i == 0) {

        String temp = ec.S("select * from S_p");

        HttpSession session = request.getSession();

        session.setAttribute("rs", temp);

        response.sendRedirect("S_plug-in.jsp");} else {

        String temp = ec.SL("select * from Service");

        HttpSession session = request.getSession();

        session.setAttribute("rs", temp);

        response.sendRedirect("S_plug-in.jsp");}

        用戶(非注冊(cè)用戶與注冊(cè)用戶)身份的測(cè)試用例,注冊(cè)登錄站點(diǎn),對(duì)個(gè)人應(yīng)用進(jìn)行添加或刪除,管理員登錄站點(diǎn),對(duì)所有應(yīng)用插件進(jìn)行增刪查改等操作,檢測(cè)基本功能的可用性、正確性,在Windows、Android、iOS系統(tǒng)及不同的瀏覽器應(yīng)用環(huán)境下的軟件定義均實(shí)現(xiàn)預(yù)期,通過(guò)多組自定義測(cè)試用例進(jìn)行測(cè)試,測(cè)試符合預(yù)期,測(cè)試統(tǒng)計(jì)結(jié)果如圖2所示。

        3 結(jié)語(yǔ)

        經(jīng)過(guò)實(shí)現(xiàn)、測(cè)試、投入使用,取得較為顯著的成果,但諸多待改進(jìn)的工作,如算法設(shè)計(jì)、故障恢復(fù)策略等還需要進(jìn)一步的研究。

        參考文獻(xiàn)

        [1]楊曉燕,姜遇姬.Java應(yīng)用程序自定義交互方法的開(kāi)發(fā)[J].浙江萬(wàn)里學(xué)院學(xué)報(bào),2006,(05):19-21.

        [2]曾春,邢春曉,周立柱.個(gè)性化服務(wù)技術(shù)綜述[J].軟件學(xué)報(bào),2002,(10):1952-1961.

        [3]劉海雄,陽(yáng)富民,胡貫榮.嵌入式瀏覽器中Cookie技術(shù)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2003,(06):39-41+45.

        [4]姜昌華.插件技術(shù)及其應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2003,(10):10-11+67.

        亚洲七七久久综合桃花| 成品人视频ww入口| 97精品一区二区视频在线观看| 美女视频黄是免费| 农村欧美丰满熟妇xxxx| 久久人人玩人妻潮喷内射人人| 亚洲性啪啪无码AV天堂| 蜜臀av一区二区三区精品 | 久久久极品少妇刺激呻吟网站| 亚洲人成色7777在线观看| 三级网址在线| 免费观看在线视频一区| 青青草国产手机观看视频| 日韩欧美亚洲综合久久影院ds| 午夜婷婷国产麻豆精品| 亚洲精品一区二区三区国产| 日本区一区二区三视频| 国产激情电影综合在线看| 在线精品国内视频秒播| 白色橄榄树在线阅读免费| av网站在线观看大全| 日本japanese丰满多毛| 成人国产精品一区二区网站| 人妻少妇激情久久综合| 亚洲精品无码不卡| 久久精品人人做人人爽| 不卡无毒免费毛片视频观看| 91l视频免费在线观看| 又色又爽又高潮免费视频国产| 亚洲国产精品久久久久婷婷老年| 精品国产18禁久久久久久久| 日韩av综合色区人妻| 综合偷自拍亚洲乱中文字幕| 亚洲av男人的天堂在线观看| 久久精品国产只有精品96| 亚洲av高清不卡免费在线| 玩弄丰满奶水的女邻居| 国产精品自在拍在线播放| 日本一区二区午夜视频| 暖暖 免费 高清 日本 在线| a在线观看免费网站大全|