基礎篇-Struts2框架的搭建

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

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

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

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

Contoller-FilterDispatcher數組

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

Model-Actionapp

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

View-Resulteclipse

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

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的框架就已經搭建好了。

相關文章
相關標籤/搜索