<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Gay Bird

    登高者必自卑,行遠者必自邇,在這個世界上,重要的不是你正站在那里,而是你正朝什么方向移動......

    struts2筆記 - helloworld

    可以從Apache Struts 的官方站點(http://struts.apache.org)下載發布版本,當前最新的版本是2.0.9。下載的版本中包含struts2-core.jar和相關的依賴類庫文件,示例程序,HTML格式的文檔,和全部的源代碼。

    1,導入struts2需要的jar文件
    commons-logging-1.0.4.jar              日志記錄接口,可以配置選擇使用jdk1.4 log 或者 log4j
    freemarker-2.3.8.jar                        所有標簽的模板都是用Freemarker編寫
    ognl-2.6.11.jar                               Objet Graph NavigationLanguage,Struts2表達式的基礎。
    struts2-core-2.0.9.jar                      struts2框架類庫
    xwork-2.0.4.jar                               xwork類庫,struts2的基礎

    2,配置web.xml文件
    <?xml version="1.0"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd"
    >

    <web-app>
      
    <display-name>My Application</display-name>
      
    <filter>
        
    <!--配置struts過濾器-->
        
    <filter-name>struts2</filter-name>
        
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
      
    </filter>

      
    <filter-mapping>
        
    <filter-name>struts2</filter-name>
        
    <url-pattern>/*</url-pattern>
      
    </filter-mapping>
    </web-app>

    3,配置struts.xml文件
    必須要把該文件建立在編譯好的WEB-INF下的classes目下
    在myeclipse可以把它新建到src下。src下的所有資源文件等都會在保存時自動編譯到classes目錄
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd"
    >

    <struts>
        
    <!-- 配置默認的包. -->
        
    <package name="default" extends="struts-default">
             
        
    </package>
    </struts>


    3,建立頁面文件
    Struts2提交一個請求的時候,輸入的數據并沒有直接送給下一個頁面,而是送給了一個你提供的Java類。這種Java類被稱為Action。當 Action執行之后,Struts2會選擇一個結果作為返回,通常情況下是一個JSP頁面,但是也可以是PDF文件,Excel表單或者Java Applet窗口。
    這時需要做的是
  • 創建一個JSP頁面來顯示歡迎消息
  • 創建一個Action類來生成歡迎消息
  • 在struts.xml中創建一個配置項來關聯上述的Action和JSP頁面

  • 建立jsp頁面
    第一行引入了struts2的標簽庫,在之后的頁面中可以使用s標簽了。這行在幾乎所有的struts2應用的jsp頁面中都會出現

    <%@ taglib prefix="s" uri="/struts-tags" %>
    <html>
        
    <head>
            
    <title>Hello World!</title>
        
    </head>
        
    <body>
            
    <s:form action="hello">
             
    <s:textfield name="name" label="name" />
           
    </s:form>
        
    </body>
    </html>

    創建action類
    execute方法用來處理業務操作
    import com.opensymphony.xwork2.ActionSupport;
    public class HelloWorld extends ActionSupport {

        
    private String name;
        
    public String execute() throws Exception {
           
    return SUCCESS;
        }


        
    public void setName(String name){
            
    this.name= name;
        }


        
    public String getName() {
            
    return name;
        }

    }

    配置struts.xml關聯jsp和action
    <!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        
    <package name="tutorial" extends="struts-default">        
            
    <action name="HelloWorld" class="tutorial.HelloWorld">         
                
    <result>/HelloWorld.jsp</result>        
            
    </action>       
         
    </package>
    </struts>

    工作原理
    當瀏覽器發送請求 http://localhost:8080/tutorial/HelloWorld.action 的時候,在服務器上發生了如下事件:

    1. 服務器接收到對HelloWorld.action的請求,根據web.xml文件中的配置,所有以.action結尾的請求都會被 org.apache.struts2.dispatcher.FilterDispatcher過濾,所以這個請求被發送給 FilterDispatcher,FilterDispatcher是Struts 2 框架的入口點。
    2. Struts 2 框架查找HelloWorld.action對應的Java 類,發現是HelloWorld.java,之后Struts 2 框架實例化了一個HelloWorld類,并且調用了這個類的execute方法。
    3. execute方法設置了message的內容,并且返回SUCCESS。框架卻定返回值SUCCESS,并且找到對應的內容HelloWorld.jsp,并且通知服務器將HelloWorld.jsp作為返回內容。
    4. 在HelloWorld.jsp被處理的過程中,<s:property value="message" />標簽的內容被替換為HelloWorld 的getMessage方法調用的結果
    5. 根據HelloWorld.jsp內容生成的HTML內容被發回到請求的瀏覽器。
    結果類型(Result Type)
    Action 處理完成之后,會選擇一個結果返回給客戶,這個結果可能是簡單的HTML頁面,JSP頁面,FreeMarker模板,Velocity模板,或者是一個 PDF文旦個或者是更復雜的JasperReports。一個Action可能有幾個可選的結果類型,為了決定到底使用那個結果類型,Action類的 execute方法必須返回一個標記結果類型的字符串。
    struts.xml
    <action name="Logon" class="tutorial.Logon">
      <result type="redirect-action">Menu</result>
      <result name="input">/tutorial/Logon.jsp</result>
    </action>
    如果我們輸入了用戶名和密碼,Logon Action會返回“success”。"success"是默認的返回結果,這個時候會使用Menu action作為結果。
    如果我們什么也不輸入,Logon Action 會返回"input", Struts 2會使用Logon.jsp 作為結果返回

    posted on 2008-10-08 14:31 Sky Yi 閱讀(486) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 成年大片免费视频| 黄色片在线免费观看 | 亚洲无砖砖区免费| a级成人免费毛片完整版| 亚洲综合熟女久久久30p| 国产免费人成视频在线播放播| 亚洲午夜精品久久久久久浪潮| 男女啪啪免费体验区| 亚洲国模精品一区| 两个人的视频www免费| 亚洲av中文无码乱人伦在线播放| 成人爽a毛片免费| 亚洲精品91在线| 成人五级毛片免费播放| 亚洲AV无码一区二区三区久久精品| 国产婷婷高清在线观看免费| 特黄特色的大片观看免费视频| 国产偷窥女洗浴在线观看亚洲| 四虎国产精品免费永久在线| 亚洲人成在线播放网站岛国| 亚洲成人免费网址| 亚洲精品国产suv一区88| 亚洲精品456播放| 久久国产乱子伦精品免费一| 亚洲一区二区三区在线网站 | 131美女爱做免费毛片| 亚洲第一男人天堂| 亚洲性日韩精品一区二区三区| 在线看片免费人成视频播| 亚洲中文无码线在线观看| 精品免费久久久久久成人影院| 日产久久强奸免费的看| 婷婷亚洲综合五月天小说| 在线观看视频免费完整版| 美女被暴羞羞免费视频| 亚洲福利视频导航| 日韩免费视频播播| 久久国产免费一区二区三区| 亚洲精华液一二三产区| 久久久久亚洲精品美女| 看全色黄大色大片免费久久|