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

Struts2  學習筆記java

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

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

 <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文件下
app

 <!--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/helloworldjsp


 3.action類
  屬性:name:是要處理的請求名
  class:請求名全部對應的處理類
  method:請求名全部對應的處理類中的方法(默認爲excute)ide

  <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 ActionSupporturl

   for example:spa

  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的前面-->

相關文章
相關標籤/搜索