隨筆-21  評(píng)論-29  文章-0  trackbacks-0

          開(kāi)始學(xué)習(xí)Struts了 小黑會(huì)把每一天學(xué)習(xí)的心得體會(huì)發(fā)到blogjava和大家一起分享 本人為嚴(yán)重菜鳥(niǎo) 肯請(qǐng)各位老鳥(niǎo)指教啦!
          開(kāi)發(fā)環(huán)境:  Myeclipse6.0 + Tomcat5.5 + jdk1.6 + struts1.3
          學(xué)習(xí)資料: 傳智播客視頻教程 下載地址:http://www.verycd.com/topics/249195

           

           1.為什么使用struts?
                  建立在MVC模式上
                  開(kāi)源項(xiàng)目
                  與其他技術(shù)和框架具有很好的融合性
                  大大提高了開(kāi)發(fā)速度
          2. Framework概念
                 人們用來(lái)解決相同或者相似類(lèi)型問(wèn)題的方案
                  特點(diǎn):可重用性、可擴(kuò)展性、可伸縮性
                  基于請(qǐng)求響應(yīng)(Request-Response)模式的應(yīng)用Framework的邏輯結(jié)構(gòu):
                          控制器(Controller)
                          業(yè)務(wù)邏輯層(Business Logic)
                          數(shù)據(jù)邏輯層(Data Logic)
          3.Struts的概念和體系結(jié)構(gòu)
          Struts是Apache組織的一個(gè)開(kāi)源項(xiàng)目。主要是采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn)的。Struts是一個(gè)基于Sun Java EE平臺(tái)的MVC框架,它采用MVC模式,
          將MVC模式“分離顯示邏輯和業(yè)務(wù)邏輯”的能力發(fā)揮得淋漓盡致。網(wǎng)址:struts.apache.org
          Struts is a flexible control layer based on standard technologies like Java Servlets,JavaBeans,ResourceBundles,and XML, as well as various Jakarta Commons packages,
          Like BeanUtils and Chain of Responsibility. The framework helps you create an extensive development environment for your application,base on published  standards and proven design patterns.

          4.實(shí)踐步驟  搭建環(huán)境 建立ActionForm 建立Action 頁(yè)面訪問(wèn)
            ① 搭建環(huán)境:
                 導(dǎo)入jar包,使用其中相關(guān)的類(lèi)
                 建立一個(gè)配置文件:struts-config.xml    方便Struts用戶使用 一般放在WEB-INF下
                                                      Web.xml 
                 注冊(cè)struts中心控制器 ——ActionServlet
                 注意事項(xiàng): struts配置文件的位置 預(yù)先加載控制器

            ② 開(kāi)發(fā)Form
                  建一個(gè)類(lèi),繼承ActionForm
                  注冊(cè),修改配置文件struts-config.xml
            ③ 開(kāi)發(fā)Action
                  建立一個(gè)類(lèi),繼承Action
                         覆蓋execute方法
                         需要強(qiáng)制轉(zhuǎn)型
                         調(diào)用其他模塊
                         跳轉(zhuǎn)(根據(jù)關(guān)鍵字,關(guān)鍵字參照該action中forward標(biāo)簽中的name屬性)
                  注冊(cè),修改配置文件struts-config.xml
             ④ 建立三個(gè)JSP文件 Login.jsp LoginSuccess.jsp LoginFailure.jsp

          5.操作過(guò)程
              1新建一web項(xiàng)目 
                

             2導(dǎo)入struts的jar包 我這里選擇導(dǎo)入全部jar包
                
                 
              

            3在WB-INF下建立一個(gè)struts-config.xml文件
              

             編寫(xiě)struts-config.xml代碼如下
           

          <?xml version="1.0" encoding="UTF-8"?>

          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">

          <struts-config>
            
          <form-beans>
               
          <form-bean name="loginForm" type="cn.itcast.LoginForm"></form-bean>
            
          </form-beans>
            
          <action-mappings>
               
          <action path="/login" type="cn.itcast.LoginAction" name="loginForm">
                   
          <forward name="loginSuccess" path="/LoginSuccess.jsp"></forward>
                   
          <forward name="loginFailure" path="/LoginFailure.jsp"></forward>
               
          </action>
            
          </action-mappings>
          </struts-config>

          修改web.xml文件為如下代碼

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.5" 
              xmlns
          ="http://java.sun.com/xml/ns/javaee" 
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance" 
              xsi:schemaLocation
          ="http://java.sun.com/xml/ns/javaee 
              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          >
              
              
          <servlet>
                 
          <servlet-name>action</servlet-name>
                 
          <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
                 
          <init-param>
                     
          <param-name>config</param-name>
                     
          <param-value>/WEB-INF/struts-config.xml</param-value>
                 
          </init-param>
                 
          <load-on-startup>0</load-on-startup>
              
          </servlet>

              
          <servlet-mapping>
                 
          <servlet-name>action</servlet-name>  
                 
          <url-pattern>*.do</url-pattern>
              
          </servlet-mapping>



          </web-app>


          在src下新建兩個(gè)類(lèi) LoginForm和LoginAction 其中LoginAction繼承Action類(lèi) LoginForm繼承LoginAction類(lèi)



          package cn.itcast;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;

          public class LoginAction extends Action {

              @Override
              
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response)
                      
          throws Exception {
                  
                    LoginForm loginForm 
          = (LoginForm) form ;
                    
          if(loginForm.getUsername().equals("itcast")){
                        
          return mapping.findForward("loginSuccess");
                    }

                    
          else 
                        
          return mapping.findForward("loginFailure");
              }

               
          }




          package cn.itcast;

          import org.apache.struts.action.ActionForm;

          public class LoginForm extends ActionForm {
              
          /**
               * 
               
          */

              
          private static final long serialVersionUID = 1L;
              
          private String username = null ;
              
          private String password = null ;
              
          public String getUsername() {
                  
          return username;
              }

              
          public void setUsername(String username) {
                  
          this.username = username;
              }

              
          public String getPassword() {
                  
          return password;
              }

              
          public void setPassword(String password) {
                  
          this.password = password;
              }

              
              
              
              
          }


          在WebRoot下新建三個(gè)jsp文件 分別為L(zhǎng)ogin.jsp  LoginSuccess.jsp   LoginFailure.jsp 



          login.jsp文件

          <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
              pageEncoding
          ="ISO-8859-1"
          %>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>Insert title here</title>
          </head>
          <body>
              
          <form action="<%= request.getContextPath()%>/login.do" method="get">
                 username:
          <input type="text" name="username"><br>
                 password:
          <input type="password" name="password"><br>
                 
          <input type="submit" value="login">
              
          </form>
          </body>
          </html>

          LoginSuccess.jsp

          <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
              pageEncoding
          ="ISO-8859-1"
          %>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>Insert title here</title>
          </head>
          <body>
             Login Success!!!
          </body>
          </html>

          LoginFailure.jsp

          <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
              pageEncoding
          ="ISO-8859-1"
          %>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>Insert title here</title>
          </head>
          <body>
              Login Failure!!!
          </body>
          </html>


          部署web應(yīng)用 展示文件結(jié)構(gòu)



          啟動(dòng)tomcat 在瀏覽器中輸入http://localhost:8080/Strutsdemo/Login.jsp 展示效果如下








          無(wú)論如何 經(jīng)過(guò)兩個(gè)小時(shí)的學(xué)習(xí) 終于運(yùn)行出了我的第一個(gè)struts程序了
          希望繼續(xù)努力哦! 順祝大家51節(jié)日快樂(lè)

          posted on 2009-05-01 19:49 特立獨(dú)行 閱讀(488) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Struts框架
          主站蜘蛛池模板: 仁怀市| 锡林浩特市| 汝城县| 万源市| 辉县市| 克什克腾旗| 根河市| 龙游县| 克拉玛依市| 千阳县| 武清区| 凤山市| 商城县| 大方县| 时尚| 通榆县| 永吉县| 家居| 永昌县| 宜州市| 炎陵县| 靖宇县| 安福县| 嘉峪关市| 石棉县| 清新县| 綦江县| 建瓯市| 宜兰县| 郁南县| 集安市| 南木林县| 义马市| 美姑县| 和田市| 灯塔市| 封开县| 自治县| 榆中县| 德钦县| 阿拉善盟|