成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>開發編程>>JAVA>>新聞內容
用JBuilder9 開發Struts實例
作者:務實 發布時間:2004-4-24 9:40:04 文章來源:天極開發者網絡

  本文將給大家介紹在JBuilder 9 集成開發環境下,如何運用Struts Framework來開發Web 應用程序,我們這里所說的JBuilder9是指JBuilder 9 Developer 與 Enterprise兩個版本。

  一、JBuilder 對于 Struts 之支持

  JBuilder 提供圖形使用者接口以簡化組件文件 struts-config.xml 之編輯與設定,此外,JBuilder 于 Object Gallery對話框內的 Web 頁次,提供四種精靈以簡化 Struts 開發流程。

   Struts Converter Wizard:

  可指定 HTML 或一般 JSP 檔案自動產生使用 Struts Tag Libraries 之 JSP 檔案。

   ActionForm Wizard:

  可導入JSP 檔案產生繼承自 ActionForm 之類,或自定義屬性 ( property ) 產生繼承自ActionForm 之類,類產生后可選擇是否自動完成 struts-config.xml 對應設定。

   Action Wizard:

  可產生繼承自 Action 之類,設定搭配之 JSP 檔案、有效范圍 ( scope ) 并自動完成struts-config.xml 對應設定。

   JSP from ActionForm Wizard:

  可由指定之 ActionForm 自動產生使用 Struts Tag Libraries之 JSP 檔案。

  除了上述精靈外,JBuilder 可協助開發人員自動設定web.xml 部署描述檔,以便 JSP 使用Struts 自定義 Tag Libraries 。

  二、使用Jbuilder開發struts實例

  我們在這里舉開發一個簡易的 Web 應用程序的例子來幫助大家了解Struts Framework。此 Web 應用程序允許使用者輸入兩獨立字符串,并將兩字符串連接后顯示于網頁。由于處理邏輯過于簡單,此實例中我們打算直接在扮演 Controller角色的 Action 中完成兩字符串連接動作,因此未使用扮演 Model 角色之 JavaBean 或類來處理字符串連接。

  步驟一: 建立 Web 應用程序

  首先點擊選擇 JBuilder 集成開發環境主菜單 File | New Project… 建立一個名為StrutsDemo 之項目。接著由菜單File | New… 激活Object Gallery 對話框,并點擊選擇Web 頁次中的 Web Application 精靈準備建立 Web 應用程序。

  Web Application 精靈會為此 Web 應用程序準備妥產生WAR 所需之部署描述檔 web.xml,WAR 是 J2EE 規格中用以簡化 Web 程序部署復雜度之標準檔案格式。我們為此 Web 應用程序命名為 demo,往后將會在編譯此項目檔時產生名為 demo.war 檔案以便于部署,在此 Web 應用程序中由于將會用到 Struts 之 Tag Libraries,因此在JSP/Servlet frameworks 中勾選Struts 1.0,同時JBuilder 會自動設定妥 web.xml。

  步驟二 : 建立自定義之 ActionForm 類

  Struts Framework 中并未限制 MVC 三部份開發順序,由于此時我們并未準備妥可輸入兩字符串之 HTML 或JSP,因此先建立儲存信息之 ActionForm 類,再產生扮演 Controller 角色之 Action 類,最后再由 ActionForm類產生 JSP 檔案,大家可依狀況調整順序以適應實際案例。點擊選擇Object Gallery 對話框 Web 頁次中 ActionFormWizard 可產生自定義之 ActionForm 類,ActionFormWizard 又可分為三步:第一步精靈自動偵測出之前已建妥之 Web 應用程序demo,我們將自定義 ActionForm 名稱由預設 Untitled1ActionForm 修改為 myActionForm,接著按下 Next 按鈕進入第二步。第二步依照需求將未來 JSP 頁面上所需顯示與輸入的字段加入 Field definition 清單方塊中,倘若負責網頁美工專職人員已備妥輸入用JSP 網頁,亦可按下 Add from JSP… 按鈕直接導入,JBuilder 將解析此 JSP 檔案產生Field definition 表格。本例中由于未準備輸入之 JSP 檔案,因此必須自行加入所需之字段。我們為此 Web 應用程序預先準備三個字段,fieldA 與 fieldB 可儲存輸入之字符串,fieldResult 可置放兩字符串連接后結果。設定完成后按下 Next 按鈕進入第三步。

  步驟三對話框提示是否將 myActionForm 加入 struts-config.xml 組件檔中?是否需要產生reset 方法? 可依照默認值按下 Finish 按鈕。

  此時 ActionForm Wizard 已經自動產生了繼承自ActionForm 之 myActionForm.java 檔案,如果我們不打算實現資料核驗之 validate 方法,我們完全無須撰寫任何程序代碼。

  步驟三 : 建立自定義之 Action 類

  點擊選擇Object Gallery 對話框 Web 頁次中 Action Wizard可產生自定義之 Action 類,Action Wizard 分為兩步:第一步精靈自動偵測出之前已建立之 Web 應用程序demo 與 struts-config.xml 組件檔,我們將自定義 Action 名稱由預設 Untitled1Action 修改為 myAction,接著按下Next 按鈕進入第二步。

  在第二步對話框中,我們可以設定 myAction 的 perform 方法會傳入哪一個 ActionForm,在FormBean Name 組合方塊中,所有記錄于 struts-config.xml 中的 ActionForm 都會列出以供選用,此外我們設定 myAction 之有效范圍( Scope ) 為 Session,并指明/input.jsp 所有輸入動作,將交由 myAction 處理。

  按下 Finish 按鈕后即產生 myAction.java 檔案。在myAction.java 中,JBuilder 已經自動產生了 perform 方法與尚未實現之例外程序代碼,我們將 perform 內的程序代碼做以下之修改,已完成字符串連接的動作:

myActionForm myActionForm=(myActionForm)ActionForm ;
String sA = myActionForm.getFieldA ( ) ;
String sB = myActionForm.getFieldB ( ) ;
myActionForm.setFieldResult (sA+sB) ;
return ( actionMapping.findForward ( "input" ) ) ;

  由于 perform 方法會傳入參數 ActionFrom 以便獲知 Web瀏覽器內使用者輸入之字符串,在此JBuilder 已將ActionForm 轉型 ( Type Cast ) 為 myActionForm 之程序代碼產生完成,開發人員僅需以 getFieldA 與 getFieldB 方法即可得知使用者輸入之字符串,并將連接后結果以setFieldResult 方法回存fieldResult 屬性。return 將決定負責顯示之 JSP 網頁,利用perform 方法傳入參數actionMapping 之 findForward 方法,可用以指定顯示之JSP 網頁。之前精靈對話框中已預設 /input.jsp 為負責輸入之 JSP 網頁,Struts 中允許輸入與顯示同為一個 JSP 網頁,因此我們需在 struts-config.xml 中定妥名為 input 之Forward 標記,以便 findForward 方法能夠利用此標記得知真正 JSP 網頁名稱 /input.jsp。

  步驟四 : 設定 Forward 標記

  點擊選擇 JBuilder 左上方之項目窗格 ( Project Pane ) 內之struts-config.xml,此時集成開發環境便可以圖形使用者接口方式編輯 struts-config.xml 內容,左下方結構窗格( Structure Pane ) 會依照 struts-config.xml 結構,分為 DataSources 、Form Beans、Global Forwards 與 Action Mappings四類標記項目。

  當點擊選擇 Global Forwards 項目后 JBuilder 右方內容窗格( Content Pane ) 將出現如圖所示之編輯畫面,開發人員可按下 Add 按鈕加入名為 input 之標記,并指明此標記對應路徑為 /input.jsp。

  對于已經熟悉 Struts Framework 的開發人員, 若欲直接修改 struts-config.xml 內容,可以點擊選擇內容窗格中的Source 頁次,此時內容窗格如圖所示將以文字編輯器顯示 XML 內容,我們可自由選擇習慣之方式維護 struts-config.xml 內容。

  步驟五 : 產生 JSP

  接下來我們將利用現有 myActionForm.java 產生/input.jsp,點擊選擇Object Gallery 對話框 Web 頁次中JSP from ActionForm Wizard,將出現以三步產生 JSP 之精靈:

  在第一步對話框中,我們可將欲產生的 JSP 檔名由預設之UntitledJsp1.jsp 改為 /input.jsp,并可按下 [ … ] 按鈕以選取 ActionForm。ActionForm 選取對話框有兩種查找模式,我們可以瀏覽 Java Package 樹狀結構直接選取myActionForm。

  或是鍵入Java 類前綴名稱,JBuilder 將會自動查找相符之類。例如我們鍵入 myActionForm 的前綴 my,將可見到對話框查找到兩個相符之類。此一便捷選取類別之對話框,可在JBuilder 編輯器中以熱鍵 Ctrl-Alt-H隨時激活使用。

  選取 myActionForm 完畢后,按下 Next 按鈕可進入至第二步對話框。JBuilder 將分析myActionForm.java 內容顯示其字段,我們可以組合方塊決定該字段將以何種 Struts Tag 搭配顯示,本例中三個字段皆使用可輸入文字、預設之 text 型態,按下 Next 按鈕即進入第三步。第三步對話框針對 Struts Tag Libraries 特性,提供多種選項,并且詢問是否將全部之Struts Tag Libraries 宣告導入至JSP 檔中。本例我們采用默認值,按下 Finish 按鈕后 JBuilder 即產生 /input.jsp。

  步驟六 : 設定執行組件

  接著我們可以設定執行組件以測試本程序。點擊選擇JBuilder 集成開發環境主菜單 Project | Project Prosperities… 將出現項目屬性設定之對話框,點擊選擇Run 頁次準備設定執行組件。JBuilder 允許在單一項目中擁有多個執行組件,可執行 Java Application、Java Applet、J2ME MIDlet 及 J2EE 各式 Server 端應用程序。

  本例中將建立一個 Server 類型之執行組件。按下對話框右側 New… 按鈕將會出現執行組件屬性設定對話框,以新增一個執行組件。

  執行組件屬性設定對話框中,我們可以鍵入一識別用途之名稱于 Name 字段,本例中我們鍵入中文識別名稱 "執行 input.jsp",在 Run 頁次 Type 組合方塊中可選取Server 類型應用程序,由于本例我們采用 JBuilder 內置之 Tomcat 4.0 為 JSP/Servlet Container,因此 Server 下拉盒選取 Tomcat 4.0。倘若我們的 Server 組合方塊中無適當選項可供選取,可于JBuilder 主菜單 Tools | Configure Server… 中進行相關設定。接著我們必須選取此 Web應用程序激活 URI,我們可按下 Launch URI 字段右側 [ … ] 按鈕,即可出現選取 URI 之對話框,我們可直接以鼠標點擊選擇左側 input.jsp,按下 OK 按鈕完成選取,并返回執行組件屬性設定對話框。

  此時執行組件屬性設定對話框中主要項目皆已設定完畢,按下 OK 按鈕返回項目屬性設定對話框。項目屬性對話框中將把前述步驟所設定之執行組件列于Runtime Configurations 清單方塊中,按下 OK 按鈕即完成執行組件設定。

  步驟七 : 執行 Web 應用程序

  接下來可點擊選擇 JBuilder 菜單 Run 或工具列中綠色三角形符號執行此 Web 應用程序。JBuilder 將于集成開發環境內激活 Tomcat 4.0 Server,我們可以通過 JBuilder 內置之 Web 瀏覽器進行測試,或于Microsoft Internet Explorer 網址字段中鍵入:

http://localhost:8080/demo/input.jsp

  以進行測試。在 Web 瀏覽器中我們鍵入 AAA 與 BBB 按下 Submit 按鈕,得到預期之運算結果AAABBB。

  倘若將第一個字段改以繁體中文鍵入,卻發現產生亂碼,字符串連接結果也無法正確辨認。Struts Framework并無中文兼容性上之問題,但是 Tomcat 4.0 在使用 JSP處理內含中文請求時,并需設定請求編碼。繁體中文環境常用編碼為 Big5 與 MS950,MS950 編碼含括 Big5 編碼,并額外增加 碁、恒、里、妝、嫻、銹、墻 等七字。

  例如,在 Microsoft Windows 平臺下,欲使 Tomcat 4.0 正確處理繁體中文,通常在 JSP 起始處加上:

<%@ page contentType="text/html; charset=MS950" %>
<% request.setCharacterEncoding("MS950") ; %>

  以設定網頁內容編碼與請求編碼為 MS950 編碼;類似地,對于簡體中文(常用編碼為GB2312),以上的代碼應為:

<%@ page contentType="text/html; charset=GB2312" %>
<% request.setCharacterEncoding("GB2312") ; %>

  但是 Struts Framework 中實際上是由 ActionServlet 收到Web 瀏覽器端請求,再轉交特定之 Action 類加以處理,因此直接于 JSP 中設定請求編碼并無效果。

  三、處理中文編碼問題(以繁體中文為例)

  對于處理 Struts Framework 中文編碼問題有多種方式,在此我們繼承 ActionServlet 類并覆蓋 process 方法,于子類process 方法中設定請求編碼。由此展現ActionServlet 扮演前端 Controller 之特質。

  首先,點擊選擇 JBuilder 主菜單 File | New Classes 準備產生一新的類。并繼承自org.apache.struts.action.ActionServlet并將預設的類名稱由Untitled1 改為 myActionServlet。按下 OK 按鈕后即產生程序代碼。點擊選擇 JBuilder 主菜單Wizards | Override Methods… 激活覆蓋方法精靈,覆蓋方法精靈會自動列出父類 ActionServlet 所有可供覆蓋之方法。我們可于 Available methods 清單方塊中選取process (HttpServletRequest request, HttpServletResponse response) 方法,完成后按下 OK 按鈕。

  此時我們可修改覆蓋后 process 方法程序代碼如下:

request.setCharacterEncoding ("MS950") ;
super.process (request, response) ;

  備注:此處以繁體中文為例,在中國國內一般我們用的是簡體中文,因此可以將上述代碼在簡體中文環境下編寫為:

request.setCharacterEncoding ("GB2312") ;
super.process (request, response) ;

  首行程序代碼將 process 傳入之參數 request 設定為 MS950編碼,其余行為同父類。接下來我們將要修改 web.xml部署描述檔,以指定 Servlet 之進入點,首先點擊選擇左上方項目窗格中的 web.xml。

  此時,左下方結構窗格將出現 web.xml 內 XML 標記之樹狀結構。我們可以點擊選擇 Servlets 內的 Action 項目。

  此時,便可運用右方內容窗格之圖形使用者接口編輯器修改 Servlet 進入點,目前預設之進入點是 Struts Framework 的 ActionServlet。

  我們可以按下 Servlet class 項目右方 [ … ] 按鈕選取新的進入點替換預設之ActionServlet,也就是之我們撰寫之strutsdemo.myActionServlet。倘若我們非常熟悉web.xml 結構,同樣地可以直接點擊選擇內容窗格內的 Sources 頁次,直接以文字編輯器修改<servlet-class> 標記的內容。

  修改完畢后,內容窗格內應如下圖:

  完成后重新編譯此項目并執行之。再次測試后我們將發現繁體中文已經可以正確處理。


最新更新
·MyEclipse 6.0的破解方法(附
·Java圖片縮小后不失真的代碼
·Java開發技術十年的回顧與展
·關于TOMCAT主目錄與虛擬目錄
·用java程序調用ffmpeg執行視
·JavaBean與Enterprise JavaB
·Java開發人員的十大戒律
·JavaFX Script將終結AJAX?還
·解決IE中所有png圖片透明問題
·JSP解決地址欄中傳遞中文字符
相關信息
·利用JBuilder 2005 開發Spring實例
·利用JBuilder2005開發Web應用程序
·解決JBuilder在中文系統中光標錯位的問題
·[圖]如何讓JBuilder9支持Struts 1.1
·Jboss3.0.7在Jbuilder7中的配置
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯
主站蜘蛛池模板: 抚顺市| 大化| 新安县| 霞浦县| 修文县| 灌云县| 西平县| 宜昌市| 禹州市| 麟游县| 重庆市| 河北省| 福清市| 广西| 寿宁县| 龙游县| 大渡口区| 新田县| 新宾| 盘山县| 上思县| 绥德县| 保山市| 铜梁县| 广水市| 五寨县| 南投市| 阿克苏市| 涞源县| 克拉玛依市| 阿拉善左旗| 黑山县| 噶尔县| 东平县| 绵竹市| 长宁县| 密云县| 泾阳县| 藁城市| 和硕县| 韩城市|