struts學習筆記(1)基本配置

來源:互聯網
上載者:User

標籤:http   java   使用   os   io   檔案   for   ar   

Struts2  學習筆記

吃透最簡單的Helloword執行個體之後 ,接著再一一去研究 請求參數的接收與發送,參數的封閉,校正,result,struts2標籤庫這些最為核心的東西(其實這些也正是最常用的東西),經過這樣的學習,應該領會了一些Struts2的流程,接著再去閱讀相關文檔去瞭解Strust2的攔截器設計思想(這叫先使用再體會的學習方法),接著可以做一些針對於自訂攔截器的實現來深化對Struts2的認識。此時,你已經達到企業中使用的層級了,接下來就可以玩一些SSh整合

一、基本配置
 1.web.xml配置

 <filter>  <filter-name>struts2</filter-name>  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping>  <filter-name>struts2</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>

2.struts.xml
 預設放在src檔案下

 <!--package 類似java的包:用區分不同的請求  name:給包取的名字  (name屬性為每個package設定一個唯一的標識,這個標識在所有的package定義中不能重複)    namespace:與請求地址的對應,對於action配置進行邏輯劃分   namespace="/"  --http://localhost:8080/xxx/分部工程名/下的所有請求   namespace="/yy"  --http://localhost:8080/xxx/yy分部工程名/下的所有請求     extends: 通過使用extends,你可以指定本package繼承另外一個package的所有的配置 --!>
 <package name="my" namespace="/" extends="struts-default">  <action name="helloworld" >   <result>/index.jsp</result>  </action> </package>


 訪問URL:localhost:8080/helloworld

 3.action類
  屬性:name:是要處理的請求名
  class:請求名所有對應的處理類
  method:請求名所有對應的處理類中的方法(預設為excute)

  <action name="hello" calss="xxx.xxx.xxxxaction" method="execute">

  Struts2 中有3中方式
   a.普通java類,定義execute()方法
   public class xxxAction
   b.實現Action介面,重寫execute()方法
   public class xxxAction implements  Action
   c.繼承java類ActionSupport
   public class xxxAction extentds ActionSupport

   for example:

  public class MyDefineAction extends ActionSupport{    @Override    public String execute() throws Exception {     return "success";//我們必須返回一個字串給struts.xml識別    }   }

   對應struts2.xml 檔案

<package name="my" namespace="/" extends="struts-default" method="execte">    <action name="hello" class="xxx.xxx.xxx.MyDefineAction>     <result name="success">/index.jsp</result>    </action>   </package>

 我們相應的可以在action中建立不同的method 實現不同的返回,到達不同的.jsp

 不同action:name對應不同的method 
  三種方式: 配置struts.xml中的 action
  a. 普通配置   網域名稱為 http://localhost:8080/Test/register(login)

<package name="my" namespace="/" extends="struts-default">    <action name="login"  class="com.yc.action.UserAction" method="login">     <result name="success">login.jsp</result>    </action>    <action name="register" class="com.yc.action.UserAction" method="register">     <result name="success">register.jsp</result>    </action>   </package>

  b. 動態配置  url為:  http://localhost:8080/Test/user!register 

<!-- 動態配置 必要設定: struts.enable.DynamicMethodInvocation  value="true"-->    <action name="user" class="com.yc.action.UserAction02">     <result name="login_success">/login.jsp</result>       <result name="register_success">/register.jsp</result>   </action>

  c. 約定配置 採用萬用字元 url為:  http://localhost:8080/Test/user_register 

 <action name="*_*" class="com.yc.action.{1}Action" method="{2}">    <result name="success">/{2}.jsp</result>   </action>


  d.當在對應的action中沒有匹配對result,那就到global-result去匹配

  <global-results>   <result name="fail">/index.jsp</result>  </global-results>

 <!--注意:global-results這個標籤只能放在package中action的前面-->

 

 

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.