01-struts2介紹與入門程序

1.struts2介紹

  • 什麼是框架,框架有什麼用?

框架 是 實現部分功能的代碼 (半成品),使用框架簡化企業級軟件開發 ,提升開發效率。學習框架 ,清楚的知道框架能作什麼? 還有哪些工做須要本身編碼實現 ?前端

  • 什麼是struts2框架,它有什麼用?

Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合併的全新的Struts 2框架。
其全新的Struts 2的體系結構與Struts 1的體系結構差異巨大。Struts 2以WebWork爲核心
struts2=struts1+webwork;
struts2框架是apache產品。
struts2是一個標準的mvc框架。 javaweb中的model2模式就是一個mvc模式。 model2=servlet+jsp+javaBean
struts2框架是在javaweb開發中使用的。
使用struts2框架,能夠簡化咱們的web開發,而且下降程序的耦合度。
XWork---它是webwork核心
Xwork提供了不少核心功能:前端攔截機(interceptor),運行時表單屬性驗證,類型轉換,
強大的表達式語言(OGNL – the Object Graph Navigation Language),
IoC(Inversion of Control反轉控制)容器等java

2.struts2快速入門

  1.快速入門步驟

1.導入jar包

下載struts2的jar包 struts-2.3.15.1-all 版本.

struts2的目錄結構:
apps: 例子程序
docs:文檔
lib:struts2框架所應用的jar以及插件包
src:源代碼 
core 它是struts2的源代碼
xwork-core struts2底層使用了xwork,xwork的源代碼

注意:在struts2開發,通常狀況下最少導入的jar包,去apps下的struts2-blank(將struts2-blank.war改成struts2-blank.rar解壓)示例程序中copyweb

 

2.對struts2框架進行配置

        • web.xml文件中配置前端控制器(核心控制器)-----就是一個Filter。目的:是爲了讓struts2框架能夠運行。

              

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

 

        • 建立一個struts.xml配置文件 ,這個是struts2框架配置文件。

                

目的:是爲了struts2框架流程能夠執行。

名稱:struts.xml
位置:src下(classes下)apache

3.建立一個HelloAction類

          

要求,在HelloAction類中建立一個返回值是String類型的方法,注意,無參數。
public String say(){
return "good";
瀏覽器

4.在struts.xml文件中配置HelloAction

            

1 <package name="default" namespace="/" extends="struts-default">
2                 <action name="hello" class="cn.itcast.action.HelloAction"
3                     method="say">
4                     <result name="good">/hello.jsp</result>
5                 </action>
6             </package>

 

5.建立index.jsp頁面,hello.jsp頁面。

 

6.在index.jsp中添加鏈接,測試

        

<a href="${pageContext.request.contextPath}/hello">第一次使用struts2</a>
在地址欄中輸入:http://localhost/struts2_day01/index.jsp 訪問鏈接,就能夠看到
HelloAction類中的say方法執行了,也跳轉到了hello.jsp.緩存

  2.快速入門程序流程分析

3.struts2流程分析與工具配置

    

1.流程分析


請求 ---- StrutsPrepareAndExecuteFilter 核心控制器 ----- Interceptors 攔截器(實現代碼功能 ) ----- Action 的execute --- 結果頁面 Result
* 攔截器 在 struts-default.xml定義
* 執行攔截器 是 defaultStack 中引用攔截器 mvc

---- 經過源代碼級別斷點調試,證實攔截器是執行 app


2.關於手動配置struts.xml文件中提示操做



若是安裝Aptana編輯器 ,請不要用Aptana自帶xml編輯器 編寫struts2配置文件
struts.xml提示來自於 DTD約束,
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
若是能夠上網,自動緩存dtd,提供提示功能
若是不能上網,也能夠配置本地DTD提示 框架

*** 導入DTD時,應該和配置DTD版本一致 jsp


3.關聯struts2源文件


若是是com.opensymphony.xxx 在xwork-core下
若是是org.apache.struts2 在core下

 


4.使用插件 struts2-config-browser-plugin-2.3.15.1

 


提供在瀏覽器中查看 struts2 配置加載狀況

將解壓struts2/lib/struts2-config-browser-plugin-2.3.7.jar 複製WEB-INF/lib下

訪問 http://localhost/struts2_day01/config-browser/index.action 查看 struts2配置加載狀況

相關文章
相關標籤/搜索