国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

關(guān)于實(shí)施MVC框架結(jié)構(gòu)的WEB項(xiàng)目的看法

2019-11-18 12:44:09
字體:
供稿:網(wǎng)友

  一、實(shí)施java的WEB項(xiàng)目需要把握的
  Java從語言角度來講不是很難,但是從整體設(shè)計(jì)角度來講屬于完全面向?qū)ο蟮母呒壙蚣堋<偃缫O(shè)計(jì)一個(gè)良好的框架結(jié)構(gòu),單單只把握J(rèn)ava語言遠(yuǎn)遠(yuǎn)不夠。在一個(gè)框架應(yīng)用中語言只是其中的一個(gè)調(diào)價(jià),想要發(fā)揮好語言的優(yōu)勢,還要有良好的環(huán)境條件才能。這就涉及到一個(gè)設(shè)計(jì)模式,還有和設(shè)計(jì)模式相關(guān)的一些知識。
  
  Java是一種存面向?qū)ο蟮恼Z言,所以要把Java應(yīng)用的好,對面向?qū)ο笠欢ㄒ辛己玫睦斫狻ava語言本身的特點(diǎn)和技巧更應(yīng)理解。
  
  在主要的應(yīng)用中,數(shù)據(jù)庫相關(guān)的環(huán)節(jié)應(yīng)用很多,所以對數(shù)據(jù)庫應(yīng)該有一定了解。不能單單只了解一種數(shù)據(jù)庫,因?yàn)樵诤芏鄬?shí)際開發(fā)中會提出很多數(shù)據(jù)庫解決方案,所以只有在了解多種數(shù)據(jù)庫的情況下才能有一個(gè)比較方案,不能只從價(jià)格上入手,要根據(jù)項(xiàng)目的實(shí)際需求來做出最好的性價(jià)比,這樣才算一個(gè)合格的數(shù)據(jù)庫解決方案。
  
  在很多應(yīng)用中應(yīng)用服務(wù)器有很重要的地位,所以對應(yīng)用服務(wù)器的了解是必須的。包括配置,應(yīng)用、和實(shí)施。而且最好也要了解多種應(yīng)用服務(wù)器,然后根據(jù)項(xiàng)目需求比較選擇應(yīng)用。
  
  在服務(wù)器和設(shè)計(jì)模式結(jié)構(gòu)中會應(yīng)用到自定義文件,而且在應(yīng)用高級設(shè)計(jì)時(shí)也會定義自用的標(biāo)簽,現(xiàn)在流行的是用xml去定義配置,所以XML語言應(yīng)該有一定把握。
  
  Java主要應(yīng)用在網(wǎng)絡(luò)上,所以對網(wǎng)絡(luò)的協(xié)議應(yīng)該有一定了解把握。
  
  在設(shè)計(jì)WEB項(xiàng)目的應(yīng)用中,網(wǎng)頁的腳本語言起著不能忽視的作用,所以假如設(shè)計(jì)WEB項(xiàng)目的應(yīng)用中,對Html和javascript都應(yīng)有一定的了解。
  
  綜上所述:一個(gè)好的Java應(yīng)用實(shí)施應(yīng)該把握如下:
  
  Java語言、面向?qū)ο笏枷搿⒃O(shè)計(jì)模式、框架結(jié)構(gòu)、數(shù)據(jù)庫、應(yīng)用服務(wù)器、XML語言、網(wǎng)絡(luò)協(xié)議、網(wǎng)頁腳本語言。
  
  二、工具的選擇
  在實(shí)際開發(fā)中,開發(fā)工具的直接影響著開發(fā)進(jìn)程,使用工具假如過于復(fù)雜,在項(xiàng)目開發(fā)前要費(fèi)很多時(shí)間學(xué)習(xí);假如工具過于簡單,開發(fā)時(shí)限制性又太大。所以要根據(jù)實(shí)際開發(fā)的難度和強(qiáng)度來做決定,而且要根據(jù)項(xiàng)目開發(fā)人員的實(shí)際情況。
  
  現(xiàn)在常用的Java項(xiàng)目開發(fā)環(huán)境有:JBuilder、VisualAge for Java、Forte for Java, Visual Café、Eclipse、NetBeans IDE、JCreator +J2SDK、EditPlus 2+ J2SDK。
  
  最好是熟知這些軟件的優(yōu)點(diǎn)和缺點(diǎn),以便根據(jù)實(shí)際情況選擇應(yīng)用。
  
  三、Java語言
  Java語言體系比較龐大,語法和C相似。應(yīng)用角度講有jsp、Applet、Servlet、application四部分。在大多WEB項(xiàng)目中主要應(yīng)用到JSP、Servlet、Application這三部分,在WEB項(xiàng)目開發(fā)中Application主要的應(yīng)用就是JavaBean。
  
  Applet是運(yùn)行在客戶端的程序,在圖形顯示方面很出色,它是需要預(yù)選下載到客戶端的程序,在有些開發(fā)中,有一些設(shè)計(jì)需要運(yùn)行在客戶端,這時(shí)就要應(yīng)用Applet,比如網(wǎng)易的聊天室。
  
  Servlet是運(yùn)行在服務(wù)器端的程序,處理數(shù)據(jù)接收的能力很出色,是一個(gè)多線程的設(shè)計(jì)。在服務(wù)器端的功能十分強(qiáng)大。
  
  JSP是從Servlet上分離出來的一小部分,簡化了開發(fā),加強(qiáng)了界面設(shè)計(jì)。JSP定位在交互網(wǎng)頁的開發(fā)。運(yùn)用Java語法,但功能較Servlet弱了很多,并且高級開發(fā)中只充當(dāng)用戶界面部分。
  
  Application是Java應(yīng)用程序,Java可以象C++等語言一樣開發(fā)出應(yīng)用軟件,但是運(yùn)行起來很慢。在WEB項(xiàng)目和一些開發(fā)中主要應(yīng)用JavaBean就是Application的一部分,邏輯運(yùn)算能力很前,能極大的發(fā)揮Java語言。而且可以運(yùn)用Java的繼續(xù)、多態(tài)、重載的特性,也可以實(shí)現(xiàn)封裝。
  
  高級的WEB項(xiàng)目會應(yīng)用到以上的所有技術(shù),協(xié)作開發(fā)會提高開發(fā)的效率和系統(tǒng)的性能。
  
  四、面向?qū)ο笏枷?/b>
  Java語言是完全面向?qū)ο笳Z言,所以在項(xiàng)目設(shè)計(jì)時(shí)應(yīng)用會有很大的幫助,在設(shè)計(jì)時(shí)應(yīng)盡量舍棄面向過程的設(shè)計(jì)方式。
  
  在分析項(xiàng)目業(yè)務(wù)關(guān)系的時(shí)候,應(yīng)用一些ER圖會用很大的幫助,這樣能盡快找出業(yè)務(wù)邏輯主要面對的對象,然后對每個(gè)對象進(jìn)行行為劃分。最后設(shè)計(jì)實(shí)現(xiàn)的目的是對象之間的通信。
  
  《Thinking in java》中有很經(jīng)典的一個(gè)比喻,把一個(gè)燈泡比喻成一個(gè)對象,然后把行為都封裝到該對象中,如圖:
  
  在這個(gè)例子中,類型/類的名稱是Light,可向Light對象發(fā)出的請求包括包括打開(on)、關(guān)閉(off)、變得更明亮(brighten)或者變得更暗淡(dim)。通過簡單地聲明一個(gè)名字(lt),我們?yōu)長ight對象創(chuàng)建了一個(gè)“句柄”。然后用new要害字實(shí)例化Light的一個(gè)對象。為了向?qū)ο蟀l(fā)送一條消息,我們列出句柄名(lt),再用一個(gè)句點(diǎn)符號(.)把它同消息名稱(on)連接起來。從中可以看出,使用一些預(yù)先定義好的類時(shí),我們在程序里采用的代碼是非常簡單和直觀的。
  
  五、設(shè)計(jì)模式
  設(shè)計(jì)模式在Java項(xiàng)目實(shí)施過程更是重中之重。主要在與兩層的設(shè)計(jì)模式、三層的設(shè)計(jì)模式和N層的設(shè)計(jì)模式。直接決定著項(xiàng)目的應(yīng)用、部署和實(shí)際開發(fā)設(shè)計(jì)。
  
  六、框架結(jié)構(gòu)
  在普通的WEB項(xiàng)目中很多采用兩層的開發(fā)結(jié)構(gòu)。JSP+Servlet或JSP+JavaBean。當(dāng)對開發(fā)要求高的項(xiàng)目中使用很多的還是MVC的三層開發(fā)結(jié)構(gòu)。能分有效的分離邏輯開發(fā),使開發(fā)人員能專注于各自的開發(fā)中。同時(shí)也能時(shí)整個(gè)開發(fā)結(jié)構(gòu)流程更清楚,但是需要比較高的開發(fā)配合度。
  
  MVC的完全開發(fā)難度較復(fù)雜,而且需要設(shè)計(jì)所有的控制流程,但不一定屬于國際化開發(fā),所以為了簡化開發(fā),提高結(jié)構(gòu)清楚性,我們可以引用開發(fā)的框架,現(xiàn)在比較流行的MVC開發(fā)框架就是StrUCt。能大大提高開發(fā)進(jìn)度,提高項(xiàng)目的結(jié)構(gòu)性,但是學(xué)習(xí)Struct也需要一定的時(shí)間,而且需要XML的配合。
  
  Struct主要集中在Controller的設(shè)計(jì),把Servlet分成FromBean和ActionServlet兩個(gè)部分。同時(shí)增加了Servlet處理的API,包括Action、ActionForm、ActionMapping類等。
  
  每一個(gè)FormBean 都必須繼續(xù)ActionForm類,F(xiàn)ormBean是對頁面請求的封裝。即把HTTP request 封裝在一個(gè)對象中,需要說明的一點(diǎn)就是多個(gè)HTTP request可以共用一個(gè)FormBean,便于維護(hù)和重用。
  
  FormBean的產(chǎn)生是為了提供數(shù)據(jù)給ActionBean,在ActionBean中可以取得FormBean中封裝的數(shù)據(jù),經(jīng)相應(yīng)的邏輯處理后,調(diào)用業(yè)務(wù)方法完成相應(yīng)業(yè)務(wù)要求。
  
  Struct的核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml,Struts-config.xml集中了所有頁面的導(dǎo)航定義。對于大型的WEB項(xiàng)目,通過此配置文件即可迅速把握其脈絡(luò),這不管是對于前期的開發(fā),還是后期的維護(hù)或升級都是大有裨益的。把握Struts-config.xml是把握Struts的要害所在。
  
  Struct框架可以應(yīng)用在大、中、小型項(xiàng)目中。能大大的提高M(jìn)VC模型的開質(zhì)量和效率。
  
  七、數(shù)據(jù)庫
  對于數(shù)據(jù)庫應(yīng)該了解他的性能和一些基本的操作常識,還有該數(shù)據(jù)庫的特點(diǎn)。
  
  而針對與Java語言WEB項(xiàng)目的數(shù)據(jù)庫開發(fā)則主要是對JDBC的應(yīng)用,還有數(shù)據(jù)庫連接池的應(yīng)用。
  
  八、應(yīng)用服務(wù)器
  同數(shù)據(jù)庫一樣,應(yīng)該了解該服務(wù)器的性能,特點(diǎn)和一些常識。
  
  在應(yīng)用方面,應(yīng)用服務(wù)器主要是針對于配置和部署,對目錄的配置,調(diào)試;對配置文件屬性的修改;對訪問權(quán)限和并發(fā)性的控制;Java類的部署等。
  
  還有對于服務(wù)器的整合配置,JSP典型的有apache+tomcat的整合配置。
  
  假如熟悉XML語言的話,對服務(wù)器文件的配置,還有Java類的部署有巨大的幫助。
  
  九、XML語言
  從上邊所說可以看出XML語言對于WEB項(xiàng)目開發(fā)很有幫助,而且有時(shí)有要害的作用。
  
  十、網(wǎng)絡(luò)協(xié)議
  WEB項(xiàng)目開發(fā)中應(yīng)該對應(yīng)用的協(xié)議有一定的把握,這樣才能良好的應(yīng)用語言相對應(yīng)的知識或類庫。
  
  十一、網(wǎng)頁腳本語言
  為了提高WEB項(xiàng)目的整體性能,提高人機(jī)交互的友好界面,網(wǎng)頁的腳本語言是很有用處的,有的時(shí)候可以解決很大的難題或提高程序的性能和應(yīng)用性。
  
  網(wǎng)頁腳本語言的執(zhí)行都是在客戶端執(zhí)行的,速度很很快,并且大多的操作與服務(wù)器沒有交互運(yùn)算,所以在一些應(yīng)用中非常理想。
  
  十二、實(shí)例
  一個(gè)MVC模式的數(shù)據(jù)傳遞的過程,從JSP頁面輸入一個(gè)字符,然后提交給Servlet,由Servlet調(diào)用JavaBean處理后,然后再把頁面定向到另一個(gè)JSP頁面,現(xiàn)在用session和request兩個(gè)方法實(shí)現(xiàn)。
  
  JSP頁錄入頁為Login.htm,顯示頁分別為RequestTest.jsp和SessionTest.jsp;
  
  Servlet為TestServlet.class,JavaBean為TestBean.class,包為com.xinkaidigital.jwing。
  
  代碼如下:
  
  Login.htm :
  
  <!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
  
  <html>
  
  <head>
  
  <title>Lomboz JSP</title>
  
  </head>
  
  <body bgcolor="#FFFFFF">
  
  <FORM METHOD="post" ACTION="servlet/com.xinkaidigital.jwing.TestServlet">
  
  <INPUT TYPE="text" NAME="testStr">
  
  <INPUT TYPE="submit">
  
  </FORM>
  
  </body>
  
  </html>
  
  TestServlet.class :
  
  package com.xinkaidigital.jwing;
  
  import java.io.IOException;
  
  import javax.servlet.ServletConfig;
  
  import javax.servlet.RequestDispatcher;
  
  import javax.servlet.ServletException;
  
  import java

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鲁山县| 塔城市| 葫芦岛市| 罗田县| 祁东县| 拉萨市| 澜沧| 莆田市| 新丰县| 溆浦县| 威宁| 龙游县| 竹北市| 大庆市| 招远市| 宁化县| 灌南县| 响水县| 彰武县| 尼木县| 堆龙德庆县| 株洲县| 包头市| 丽江市| 绥化市| 开平市| 大石桥市| 麻江县| 灵川县| 饶平县| 灵山县| 泰安市| 宿迁市| 荥阳市| 巴林右旗| 江油市| 平阳县| 吉林市| 永靖县| 扎赉特旗| 大连市|