1. 程式人生 > >struts2和spring整合時需要注意的地方

struts2和spring整合時需要注意的地方

1、首先要記得匯入依賴包:除了一些基本的包之外,還要記得匯入這兩個包——commons-logging和struts2-spring-plugin
commons-loggin.jar是Spring的必備包,用來記錄程式執行的日誌檔案
(在libs資料夾下的jakarta-commons包下)
struts2-spring-plugin.jar必須要匯入:作用是在struts.xml中,
每個action配置的class屬性為applicationContext.xml中的bean的id屬性的值,
就是靠這個包來實現查詢匹配的


2、配置web.xml
1 配置監聽器——org.springframework.web.context.ContextLoaderListener
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

該監聽器會預設載入WebContent下的WEB-INF/applicationcontext.xml檔案
我們也可以通過contextConfigLocation引數改變配置檔案的路徑:
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>WEB-INF/a/b/.../applicationContext.xml</param-value>
    </context-param>
     
          延伸:關於<param-value>的值——即路徑:
    <!-- 如果放在WebRoot根目錄,則為:applicationContext.xml和beans.xml
    如果沒有放在根目錄,則為  /WEB-INF/applicationContext.xml-前面加"/"+路徑
    若在src下,則為  classpath:/cn/hncu/User/servlet/beans.xml-前面加"/"+路徑
  -->
  如下面(兩個之間用","隔開):
  <param-value>
  /WEB-INF/applicationContext.xml,
  classpath:beans.xml
  </param-value>
     
   2、對struts.xml配置檔案的一個地方進行修改即可
   原來的配置檔案action為:
   <action name="user" class="cn.hncu.user.userAction"></action> 
     整合的配置檔案action為:
     <action name="user" class="userAction">
     --注:這裡的calss從Spring容器裡面拿,而不是自己new物件,
     所以這裡為容器中<bean>中的id的值
     (特別注意:struts框架會從Spring容器中拿物件是依靠之前匯入的struts2-spring-plugin.jar包,否則不會到Spring容器中去找,會報錯說找不到userAction類)
    

相關推薦

struts2spring整合需要注意地方

1、首先要記得匯入依賴包:除了一些基本的包之外,還要記得匯入這兩個包——commons-logging和struts2-spring-plugin commons-loggin.jar是Spring的

Struts2Spring整合使用Struts-plugin的注意

Struts2和Spring整合有兩種方法可以使用: 一種是把Struts2的action交給Spring管理,action的配置中不需要指具體的類名,只需要指定配置在Spring中的那個actio

python學習 ( 一 ) :安裝基礎安裝環境需要注意地方

常用:使用workon 時要在envs下使用 1. pip使用報錯 ‘pip’ 不是內部或外部命令,也不是可執行的程式或批處理檔案。 解決方法: 將python的環境新增到pathon中例如:Python27\Scripts 2.使用豆瓣原來安裝dj

Redis spring整合,Jar包要匹配

        <dependency>            <groupId>org.springframework.data</groupId>            <artifactId>spring-data-red

struts2spring整合,基於註解的方法

直接碼程式碼專案目錄1.匯入struts和spring各自需要的jar包, 再匯入兩者整合需要的jar包2.UserDao.javapackage com.ssh.dao; import org.springframework.stereotype.Repository;

map 刪除替換元素需要注意的細節

map:對映 //注 std::map <key,value> c; c[key]; 返回一個引用,指向鍵值為key的元素,但如果元素不存在,就安插該元素 對於這一點,應該注意,不過有應該注意的地方,就是可能出錯的地方,這就代表需要改進。但是這樣設

struts2spring整合,關於class屬性及成員bean自動注入的問題

前幾天同事碰到一個問題:正常來說按照Spring官方配置,在struts2與spring整合時,struts配置檔案中class屬性指向spring配置的bean id,但是在class指向類路徑時,依然能注入service。 public class LoginActi

SpringMVC系列(十五)Spring MVC與Spring整合實例被創建兩次的解決方案以及Spring 的 IOC 容器 SpringMVC 的 IOC 容器的關系

問題 nbsp frame ota 展示 not als pri exc 一、Spring MVC與Spring整合時實例被創建兩次的解決方案 1.問題產生的原因 Spring MVC的配置文件和Spring的配置文件裏面都使用了掃描註解<context:compon

Lambda表示式For迴圈使用需要注意的一個地方

一個需要注意的地方看下面的程式碼: using System;using System.Collections.Generic;using System.Linq;namespace MyCsStudy{    clas

詳解關於Vue2.0路由開啟keep-alive需要注意地方

Vue2.0 做應用必有的需求就是頁面資料需要做快取,不用每次進入頁面都要把資料重新請求一遍,每次頁面切換都有段等待資料相應時間,這個使用者體驗可想有多麼蛋疼,所以頁面快取是必要的,啥時候需要更新頁面資料呢?可以監聽狀態變化,或者是手動下拉重新整理重新請求資料,醬紫,我想使用者體驗會做的更好。 keep-a

Vue2.0 路由開啟 keep-alive 需要注意地方

Vue2.0 做應用必有的需求就是頁面資料需要做快取,不用每次進入頁面都要把資料重新請求一遍,每次頁面切換都有段等待資料相應時間,這個使用者體驗可想有多麼蛋疼,所以頁面快取是必要的,啥時候需要更新頁面資料呢?可以監聽狀態變化,或者是手動下拉重新整理重新請求資料,醬紫,我想使用者體驗會做的更

使用python需要注意的點

最近使用Python的過程中遇到了一些坑,例如用datetime.datetime.now()這個可變物件作為函式的預設引數,模組迴圈依賴等等。 在此記錄一下,方便以後查詢和補充。 避免可變物件作為預設引數 在使用函式的過程中,經常會涉及預設引數。在Python中,當使用可變物件作為預設

spring cloud 雙資料來源配置,兩種方式jdbcmybatis(jdbcTemplate sqlsessionTemplate)及需要注意的問題

一、jdbcTemplate:jdbc application.yml檔案:     spring:       application:       

hibernate5與hibernate3在spring整合注意版本

java.lang.ClassCastException:org.springframework.orm.hibernate5.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHolder

vue入門中元件命名需要注意地方

下面這張圖是從vue官方上擷取的  其實不只是駝峰命名的prop在自定義標籤中需要用等價的短橫線分隔命名,元件自定義的標籤名稱也一樣  還是官網的例子只不過我把元件的名稱改為駝峰式為  blogPost Vue.component('blogP

list、vector使用erase()需要注意地方——迭代器失效

先說一下兩者的優缺點吧。 list與vector的區別 vector相當於一個數組。     在記憶體中分配一塊連續的記憶體空間進行儲存。支援不指定vector大小的儲存。STL內部實現時,首先分配一個非常大的記憶體空間預備進行儲存,即capacituy()函式

IDEA下使用maven整合Struts2Spring

初學java,在用struts做了幾個專案之後,覺得手動整合業務元件有些麻煩了,是時候上spring了。先把struts和spring整合下,體驗一把spring的IoC看看再說。 從網上找了不少資料,總感覺寫的不是很全面,對於我這個新手來說不是很友好。好在搗鼓了幾個小時之後,順利跑起來了

MyBatis排序使用order by 動態引數需要注意,用$而不是#, #{}${}的區別以及order by注入問題

ORDER BY ${columnName}這裡MyBatis不會修改或轉義字串。重要:接受從使用者輸出的內容並提供給語句中不變的字串,這樣做是不安全的。這會導致潛在的SQL注入攻擊,因此你不應該允許使用者輸入這些欄位,或者通常自行轉義並檢查。 #{}相當於jdbc中的

shiroSpring整合使用註解沒有執行realm的doGetAuthorizationInfo回撥方法的解決

在使用Shiro框架進行專案整合時,使用註解在使用Shiro框架進行專案整合時,使用註解在使用Shiro框架進行專案整合時,使用註解@RequiresPermissions為方法提供是需要的許可權,但是根本沒有進行驗證,後面發現在自己的Realm中只執行了doGetAuth

c++在標頭檔案中定義全域性變數需要注意地方

我們知道,在 C++(但不是在 C 語言)中,const 限定符對預設儲存型別稍有影響。在預設情況下,全域性變數的連結性為外部的,但 const 全域性變數的連結性為內部的。也就是說,在 C++ 看來,全域性 const 定義就像使用了 static 說明符一樣。