1. 程式人生 > >【SSH】Struts2配置檔案學習

【SSH】Struts2配置檔案學習

       在Web開發專案中,都是使用web.xml來實現MVC框架的應用,如果要使用Struts的MVC模式,我們就必須在Web.xml中對Struts2進行配置,然後使用Struts.xml來對頁面進行導航

   一、 在web.xml中需要配置的有兩個地方:

    (1)載入FilterDispatcher過濾器     (2)使用FilterDispatcher過濾器進行攔截URL。 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <filter>
        <!--過濾器名字-->
        <filter-name>Struts2</filter-name>
        <!--過濾器所支援的Struts2類-->
        <filter-class>
            org.apache.Struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter>
    <filter-mapping>
        <!--過濾器攔截名字-->
        <filter-name>Struts2</filter-name>
        <!--過濾器攔截檔案路徑名字-->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>


        為了實現AOP概念,都用filter來實現。定義好過濾器,還應該指明如何攔截URL。其中/*為萬用字元,它表明該過濾器是攔截所有的HTTP請求。

二、使用Struts.xml實現頁面導航定義

        在Struts2中最核心的是Action,而Action的核心是struts.xml,它集中實現了所有頁面的導航定義。      (1)XML檔案字元編碼定義和DTD檔案宣告(DTD表明Struts.xml是支援struts2文件型別定義)。      (2)global-results對映定義,如何進行全域性導航頁面。(可以被多個Action共用),如果在action中找不到定義的result唯一標識,就去尋找global中result的。
     (3)package對映定義,包含的Action各屬性介紹。 Struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
 
<struts>
<!--Action所在包定義-->
    <package name="C01" namespace="/" extends="struts-default">
 
        <default-action-ref name="index" />
 <!--全域性頁面導航定義-->
        <global-results>
            <result name="error">/WEB-INF/jsp/error.jsp</result>
        </global-results>
 
        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>
 <!--Action名字,類以及導航頁面定義-->
        <!--直接導航的Action定義-->
        <action name="index">
            <result>/jsp/login.jsp</result>
        </action>
        <!--通過Action類處理才導航的Action定義-->
        <action name="Login"
                class="com.example.struts.action.LoginAction">
            <result name="input">/jsp/login.jsp</result>
            <reuslt name="success">/jsp/success.jsp</reuslt>
        </action>
    </package>
 
    <include file="example.xml"/>
 
    <!-- Add packages here -->
 
</struts>

       其中,Action中的name屬性是JSP頁面上定義的Action名字,在Struts2系統中主動找名字Action,一旦找到就根據class屬性中定義的Action類路徑去執行該Action。Action中的result相當於forward屬性,name 是唯一標識,通過檢索標識,Action物件分裝了需要指向的URL,系統就會將最後響應的資訊轉到URL所指的JSP頁面。      注意:forward和redirect的區別是:forward不會顯示轉向後的頁面地址,它僅是控制器的轉向。而redirect是完全跳轉,瀏覽器顯示轉向後的地址,並重新發送請求。因此,前者效率要高一些,還可以隱藏實際的連結地址。

相關推薦

SSHStruts2配置檔案學習

       在Web開發專案中,都是使用web.xml來實現MVC框架的應用,如果要使用Struts的MVC模式,我們就必須在Web.xml中對Struts2進行配置,然後使用Struts.xml來

Java讀取配置檔案

package utils.properties; import java.util.Properties; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Concu

Pythonconfigparser配置檔案解析器

python之configparser配置檔案解析器 此模組提供了 ConfigParser類,該類實現了一種基本配置語言,該語言提供了類似於Microsoft Windows INI檔案中的結構。您可以使用它來編寫可以由終端使用者輕鬆定製的Python程式。 註解: 此庫

MybatisMyBatis配置檔案的使用(二)

  本例在【Mybatis】MyBatis快速入門(一)基礎上繼續學習XML對映配置檔案   MyBatis 的配置檔案包含了會深深影響 MyBatis 行為的設定(settings)和屬性(properties)資訊。文件的頂層結構如下: configuration 配置 prop

循序漸進學.Net Core Web Api開發系列6配置檔案appsettings.json

系列目錄 一、本篇概述  本篇描述appsettings.json的使用,包括: 1、配置的基本讀取 2、讀取配置資訊到自定義的物件 3、自定義配置檔案 一、配置的基本讀取  要讀取的配置檔案內容如下: { "ConnString": "MySQL Connect S

SpringSpring配置檔案簡單解析

一個標準的Spring配置檔案applicationContext.xml應該包含的基本組成部分如下: 0、框架配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http

sshstruts2中action接收引數的方法

Struts2中Action接收引數的方法主要有以下三種: Struts2中Action接收引數的方法主要有以下三種: 1.使用Action的屬性接收引數:     a.定義:在Action類中定義屬性,建立get和set方法;     b.接收:通過屬性接收引數,如

MybatisMyBatis對錶執行CRUD操作(三) MybatisMyBatis配置檔案的使用(二)

  本例在【Mybatis】MyBatis配置檔案的使用(二)基礎上繼續學習對錶執行CRUD操作 使用MyBatis對錶執行CRUD操作   1、定義sql對映xml檔案(EmployeeMapper.xml) 1 <?xml version="1.0" encoding="UTF-8"

NASSamba配置檔案解析

Samba的主配置檔案叫smb.conf,預設在/etc/samba/目錄下。 smb.conf含有多個段,每個段由段名開始,直到下個段名。每個段名放在方括號中間。 每段的引數的格式是:名稱=值。配置檔案中一行一個段名和引數,段名和引數名不分大小寫。 除了[global]段

JavaEE讀取配置檔案路徑的幾種方式

讀取配置檔案的各種方式 1.類載入器讀取: 只能讀取classes或者類路徑中的任意資源,但是不適合讀取特別大的資源。 ①獲取類載入器 ClassLoader cl = 類名.class.getClassLoader(); ②呼叫類載入器物件的方法:

init程序2——解析配置檔案

在前面的一篇文章中分析了init程序的啟動過程和main函式,本文將著重對配置檔案(init.rc)的解析做一下分析。 init.rc指令碼語法 init.rc檔案不同於init程序,init程序僅當編譯完Android後才會生成,而init.rc檔案存在於Androi

轉載nginx 配置檔案詳解

user  www www;#使用哪個使用者啟動nginx 前面是使用者,後面是組 worker_processes 4;#nginx工作的程序數量 #[ debug | info | notice | warn | error | crit ]   錯誤日誌的級別及位置

SSHstruts2的Action中的屬性,不必再次put到ActionContext域中

注意,首先要確保是說的屬性,請看這個案例:package indi.web.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport;

SSH網上商城專案實戰13Struts2實現檔案上傳功能

  轉自:https://blog.csdn.net/eson_15/article/details/51366384 上一節我們做完了新增和更新商品的功能,這兩個部分裡有涉及到商品圖片的上傳,並沒有詳細解說。為此,這篇文章詳細介紹一下Struts2實現檔案上傳的功能。 1

SSHhibernate的源資料配置檔案**.hbm.xml中的entity-name屬性一定要用完整類名,即使你用了包!!

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://ww

SSH---Struts2、Hibernate5、Spring4散點知識

作用域 才會 進行 namespace sci 3.2 對象關系映射 工作 XML 一、Struts21.1、Struts2的概念Struts2是一個用來開發MVC應用程序的框架,它提供了Web應用程序開發過程中的一些常見問題的解決方案: ->對來自用戶的輸入數

基於初學者的SSHstruts2 值棧的詳解與struts2標簽庫+ognl表達式

radi ring etl action 值棧 多選 https submit 技術分享 一:什麽是值棧:struts2裏面本身提供的一種存儲機制,類似於域對象,值棧,可以存值和取值  特點:先進後出,最上面的元素叫做棧頂,也叫壓棧。  <s:debug><

設計模式反射+配置檔案

        之前在學習設計模式的時候,對於抽象工廠中的反射+配置檔案的使用一直都是一知半解的,但是在機房重構七層登入的運用以及報錯,讓自己對於反射 的使用有了更深刻的認識。        反射就像是

dubbo之.xml配置檔案報錯Multiple annotations found at this line: - cvc-complex-type.2.4.c: The

【dubbo之.xml配置檔案報錯】Multiple annotations found at this line: - cvc-complex-type.2.4.c: The 下載地址:https://pan.baidu.com/s/16N0PDU0zcyFWlMa2PML1OA 做法:https

Qt通過QtCreator原始碼學習Qt(一):pro檔案

1、學習目的 學習pro檔案的語法規則,這在跨平臺專案中會經常用到。和條件編譯相似,在pro中可以根據平臺選擇不同的編譯模組、檔案,還可以向原始碼中傳遞變數等。 2、學習方法 通過學習QtCreator原始碼中的pro檔案,來掌握pro檔案語法規則,下面以qtcreator.