struts1的工作原理


客戶端發送請求(Http Request),被struts1的核心控件器ActionServlet接收,ActionServlet根據struts-config.xml里的映射關系找到對就的Action,若找不到就返回500錯誤到JSP頁面。若有就Action里的 excute()方法里執行相應的邏輯操作,比如調用Model層的方法,然后通過ActionForward,跳轉到對應的輸出頁面

 

struts1的步驟:

1.導入struts1在lib文件下的所有架包;

2.把web-inf文件下的struts-config.xm文件復制到自己項目里面的web-inf下,把注釋去掉只留下一對<struts-config>標簽;

3.把web-inf文件下的web.xml文件里的servlet配置復制到自己項目里面的web.xml里面;

<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>2</load-on-startup>
 </servlet>

4.創建有關的action類繼承action重寫他的execute方法;

5.根據所寫的有關action類配置<struts-config>文件里的東西如:

<action-mappings>

<action path="/addUser"
  type="com.wangzhaohui.action.AddUserAction"
>

 <forward name="scuess" path="/ok.jsp"></forward> 
</action>

</action-mappings>

6.我們還可以寫一個繼承ActionForm的類,里面的寫法和pojo類差不多,看需要接收哪些參數就寫什么。配置好了就可來自動接收表單數據

<struts-config>

<form-beans>
<form-bean  name="userForm" type="com.wangzhaohui.actionForm.UserActionForm"></form-bean>
</form-beans>
<action-mappings>

<action path="/addUser"
  type="com.wangzhaohui.action.AddUserAction"
  name="userForm">
 <forward name="scuess" path="/ok.jsp"></forward> 
</action>

</action-mappings>

</struts-config>

然后在action里面接收數據的時候就可以用如form.getXX來自動接受表單數據了。

(view)視圖層里面的.do請求都被actionservlet中央控制器(在web.xml里面配置好的)接收到,會讀取配置文件(srtuts-config)找到相應的請求,分發給相應的action進行處理。進行處理的時候需要傳幾個參數:request,response,mapping(把配置拿出來封裝成一個對象取出來), 還有一個actionForm(根據配置文件里配置的name=“”來自動接收表單數據,最終調用業邏輯,拿到一些數據返回回來,返回actionservlet的是一個actionForward的跳轉信息,通過mapping.findForward找到然后servlet里面它會幫你自動的挑戰到相應的頁面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM