利用Myeclipse開發struts應用程序

          ?

          開發環境:
            jdk5.0
            eclipse3.1M7
            myeclipse3.84
            tomcat5.0.28
            
            簡介:
            文本主要介紹用myeclipse的struts designer(圖形化開發環境)開發一個簡單的用戶登錄程序片段。
            主要包括2個jsp文件、一個ActionForm、一個Action等其它
            userLogin.jsp(用戶登錄及錯誤提示頁面) userLoginSuccess.jsp(提示登錄成功頁面)
            UserLoginForm.java(ActionForm,存放用戶提交信息)
            UserLoginAction.java(Action,簡單的處理用戶登錄事件)
            
            開始吧
            首先我們先建立一個j2ee的web project.如圖1:
            

           


            點擊next,Project name輸入LoginDemo,其余保持默認,點擊finish.
            在package explorer下,就可以看到我們的項目了,然后給這個項目添加Struts框架必要的文件.在我們項目名上點擊右鍵,選擇MyEclipes --> Add Struts Capabilities...彈出對話框圖2:
            

           


            其中Struts config path就是我們的struts配置文件,URL pattern我們選擇*.do,Default application resource為我們默認的資源文件地方,你可以選擇它的存儲位置,我們在這里保持默認。點擊Finish后,項目結構類似于圖3:
            

           


            現在就來開始我們的例子吧。首先修改/WEB-INF/web.xml文件,為其添加標簽庫(在使用中發現,不添加也能成功。但為了保持書上一致,還是添加安全些。hoho~~)將下面代碼添加至 </webapp> 上面:
            
            <taglib>
            <taglib-uri>/tags/struts-html</taglib-uri>
            <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
            </taglib>
            
            <taglib>
            <taglib-uri>/tags/struts-bean</taglib-uri>
            <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
            </taglib>
            
            <taglib>
            <taglib-uri>/tags/struts-logic</taglib-uri>
            <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
            </taglib>
            完成后,打開struts-config.xml文件,點擊這個界面左下角的Design進入可視化設計界面。有沒有注意右邊的Palette :) 點擊它,讓我們來開始我們的jsp頁面設計。我們先建立userLoginSuccess.jsp文件,為啥先建這一個呢?等下就知道了,在myeclipse中可以一次性把我們的Action,ActionForm,Jsp文件一次建好(將三個有關聯的文件等下創建)。
            點擊Palette面版上的創建JSP文件圖標,彈出創建JSP文件面板。圖4:
            

           


            在File Name里輸入userLoginSuccess.jsp,Template to use選擇2] Standard JSP using Struts 1.1,點擊Finish完成。
            完成后,struts-config.xml文件自動被更新,可視化界在上也出現了剛新建的JSP模塊。新建的jsp文件也被打開了。
            覆蓋所有的<%@ taglib ...... 為我們開始在/WEB-INF/web.xml中定義的:
            
            <%@ taglib uri="/tags/struts-html" prefix="html"%>
            <%@ taglib uri="/tags/struts-bean" prefix="bean"%>
            <%@ taglib uri="/tags/struts-logic" prefix="logic"%>
            
            然后在<body></body>中添加:
            Hello <bean:write name="userName" scope="request" /> .
            這里將request中的屬性userName輸出在頁面上,所以等下我們在UserLoginAction中,登錄成功后要設置一個相關屬性。
            
            OK,下面來開始我們最后三個文件的設計吧。在Struts-config.xml的Design模式中,在畫版的空白區域點右鍵,選擇New --> New Form, Action and JSP 彈出ActionForm的選項面板,我們按圖上輸入相關值,圖5:
            

           


            在Optional Details的Form Properties選項卡,點add為這個ActionForm添加相關值,在這個登錄示例中,將添加兩個屬性userName和password,圖6:
            

           


            在添加password時,注意將JSP input type 下拉框選擇password.
            完成這步后,我們就將ActionForm設計完成。
            接下來選擇 Optional Details的JSP選項卡,我們選中Create JSP form? 這一步myeclipse將為我們創建一個簡單的與用戶交互的登錄頁面。保持內容和圖7一樣。圖7:
            

           


            因為我們這只是簡單的演示一個登錄片段,所以不用驗證用戶信息是否合法,所以將 Option Details的method選項卡的新建方法去掉,如圖8:
            

           


            點Next,進入Action選項面板.將Option Details的Form選項卡中Validate Form取消選擇,如圖9:
            

           


            然后在Forwards選項卡中點add添加成功和失敗返回的頁面.如圖10:
            

           


            點擊Finish完成。在Struts-config.xml的Design中,可以看到圖11所示:
            

           


            最后,簡單的修改一下userLogin.jsp,將所有<%@ taglib ...%>替換為:
            <%@ taglib uri="/tags/struts-html" prefix="html"%>
            <%@ taglib uri="/tags/struts-bean" prefix="bean"%>
            修改UserLoginAction中的execute片段為如下所示,圖12:
            

           


            OK,完成。。。下面就部暑項目,測試。。。
            
            像為項目添加Struts框架一樣,在項目名上右擊,選擇MyEclipse --> Add and Remove Project development.
            在彈出對話框上,單擊add ,在彈出的 New Deployment 對話框上,Server選Tomcat5,點擊Finish完成部署,如圖13:
            

           


            在用瀏覽器上打開:http://127.0.0.1:8080/LoginDemo/userLogin.jsp
            輸入密碼123456,用戶名EricHe。顯示成功:
            


            如果輸錯,或不輸入,則無反映又回到當前登錄頁面(因為我們沒有設置錯誤信息)。

          posted on 2006-09-09 22:51 ^小^齊^ 閱讀(1890) 評論(9)  編輯  收藏 所屬分類: struts

          評論

          # re: 利用Myeclipse開發struts應用程序 2006-09-17 13:10 Supergoal

          MyEclipse自帶的部署功能是我比較看中的,在BEA Workshop里面似乎還沒有整合類似的插件。  回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2006-11-19 16:34 andy.liu

          我按照你的步驟一步步來做的。但是運行時老是報出異常啊;
          能告訴我怎么解決嗎?
          javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
          org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
          org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
          org.apache.jsp.form.userLogin_jsp._jspService(userLogin_jsp.java:74)
          org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

          網上查了很多文檔,嘗試了一些,但是沒解決。是不是用myeclipse4.1.1開發和發布struts1.1有問題啊?請指教。這個問題真讓人抓狂啊。
            回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2006-11-26 10:17 大撒犯得上

          對啊有錯誤,哥們到底怎么回事啊。是不是你弄這個是玩我們的啊  回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2006-11-26 18:59 hrocket

          @andy.liu
          Cannot find ActionMappings or ActionFormBeans collection 這個提示你,你的action可能配置錯了吧,搞這個是挺麻煩的,一不小心就會弄錯!另外這個代碼也是我轉載別人,我也沒有試過!不好意思,自己慢慢調哈  回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2006-11-26 19:01 hrocket

          @大撒犯得上
          不好意思這位兄弟,你要是覺得我是耍你的,你完全可以不用這個去試,我個人能力有限,你自己慢慢搞!  回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2006-11-29 09:40 leifeng

          沒有試過,
          感覺可以的把  回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2006-12-12 16:24 JAVA小菜鳥

          我是新人 不過他說的是老版的 有新的嘛   回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2006-12-30 11:42 馬哥

          很好啊?這個哥們謝謝你了
          有事情的話加QQ:562852591  回復  更多評論   

          # re: 利用Myeclipse開發struts應用程序 2007-01-02 19:29 E

          不錯的,謝謝,有個問題提醒一下....見下文ZZ

          如果直接在MyEclipse生成的web.xml的<web-app></web-app>中添加<taglib>標簽的話會出錯。這是因為MyEclipse在生成web工程時,產生的web.xml文件中的<web-app>標簽是這樣的:

          <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
          http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

          而不是:

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE web-app
          PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
          "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

          <web-app>
          ......
          </web-app>

          應該是與xml schema有關。

          正確方法應該是用<jsp-config></jsp-config>把tiglib包含起來即可以排除錯誤。此外,有些web.xml的可視化編輯不加<jsp-config>的話認不出taglib的內容。所以,最好還是加上去。
            回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          相冊

          我喜歡去的地方

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 淮北市| 上虞市| 望谟县| 鄂托克旗| 根河市| 乌兰县| 龙海市| 泸水县| 康平县| 华坪县| 青冈县| 安仁县| 贵德县| 保靖县| 城口县| 纳雍县| 无极县| 崇明县| 友谊县| 兴和县| 疏附县| 墨竹工卡县| 浦城县| 嘉荫县| 灌南县| 乌鲁木齐市| 白沙| 孟州市| 栖霞市| 锡林浩特市| 莆田市| 天祝| 津市市| 宝应县| 华蓥市| 高唐县| 托里县| 天台县| 海南省| 玉门市| 罗山县|