基礎篇-Struts2框架的搭建


Struts2是一種基於MVC的輕量級的WEB應用框架。

  1.web應用框架,也就是說struts2的運行環境是一個web容器,運行於Web容器中的程序就必須遵循基本開發標准和規范:servlet標准和JSP標准(不同的Web服務器對於servlet標准和JSP的標准是不一樣的),對於struts2而言,它支持的Servlet標准最低版本要求是2.4,相對於JSP的最低版本要求是2.0。struts2作為開發框架的運行環境提出了要求,要求其必須運行在JDK1.5版本以上。

  2.輕量級,相對於重量級而言,指的是struts2在運行時,對web服務器的資源相對消耗較少,但是運行速度會相對快一些。

  3.基於MVC,Struts2着力於在MVC的各個部分為我們的開發提供了相應的幫助。基於Struts2框架的WEB應用的流程圖如下:

Contoller-FilterDispatcher

  用戶請求首先到達前端控制器FilterDispatcher。FilterDispatcher負責根據用戶提交的url和struts.xml中配置,來選擇適合的動作(Action),讓Action來處理用戶請求。FilterDispacher其實是一個過濾器,它是Struts2核心包里的類,不需要我們去開發,只要在web.xml中配置一下。

Model-Action

  Action負責把用戶請求中的參數組成合適的數據模型。Struts2中的Action實現了ServeltAPI的解耦,所以在Action里面就不需要再去直接使用HttpServletRequest與HttpServletResponse的接口。

View-Result

  視圖結果是用來把動作中獲取到的數據展現給用戶。

Struts2項目資源

  在Struts的官方網站 http://struts.apache.org 可以找到Struts項目的相關資料信息。

Struts2項目的開發

  前面我們已經對struts2有了一定的了解,現在我們就來編寫一個簡單的Hello World的應用程序,來展示我們基本的struts2項目搭建。

  1.添加Struts2的依賴庫

    使用eclipse創建一個動態的Web工程,為了讓該工程具有Struts2支持功能,我們必須將Struts2框架的核心類庫添加到Web應用中。將Struts2框架lib路徑下的jar包導入我們Web應用的lib路徑下,也就是我們工程目錄下的" WebCOntentent\WEB-INF\lib"路徑下,如圖所示

 

  如圖表明我們的項目已經導入了Struts2所必須的類庫,我們還需要修改web.xml 文件,讓該文件負責加載Struts2的框架。

2.在web.xml配置文件中添加Filter

  Struts2的入口點就是一個過濾器,Struts2就需要按過濾器的方式來配置。在web.xml中配置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>

3.我們需要一個Jsp頁面來顯示信息

struts2的標簽庫,也是框架的一部分,是為了解決頁面顯示數據,封裝簡單頁面邏輯而產生類似於HTML標記的組件(也可以用jstl來寫)。

使用struts2標簽,需要在頁面添加如下的定義:

<% taglib prefix="s" uri="/struts-tags" %>

 

  頁面代碼如下所示:

<% taglib prefix="s" uri="/struts-tags" %>
<html>
     <head>
          <title>Hello World!</title>
    </head>
    <body>
         <h2><s:property value="message"/></h2>
  </body> 
   
</html>

4.編寫我們的action類

  為了讓用戶開發的Action更加規范,Struts2為我們提供了一個Action的接口,是為了使我們的Action處理類更加的規范。

public class IndexAction extends ActionSupport {
//定義一個常量 給HW賦值
public static final String HW="Struts is up and running!"; private String message; public void setMessage(String message){   this.message=message;  }   public String getmassage(String message){    return message    } public String execute(){
//給message添加一個字符串 setMassage(HW);
  //2.返回的字符串,要跟配置文件一一對應,用於跳轉到指定的jsp頁面
return "success"; } }

Struts2還為Action提供了一個實現類:ActionSupport。為了方便實現action一般情況下都會繼承ActionSupport類,並重載execute方法。

 5.創建struts.xml的配置文件(必須要創建在src的目錄下):

<?xml version="1.0" encoding="UTF-8" ?>
<!
DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <!-- 第1步:先定義一個包 ( 包名自定義)--> <package name="mypck" extends="struts-default">   <!-- 第2步:定義一個action,用於配置我們的跳轉信息 class對應我們創建的action類(包名.類名)method默認調用的是action類的默認方法execute方法--> <action name="index" class="ssh.IndexAction" method="execute">
<result name="success">WEB-INF/jsp/HelloWord.jsp</result> </action> </package> </struts>

基本的Struts2的框架就已經搭建好了。

 


免責聲明!

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



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