1. 程式人生 > >struts框架整合spring框架的簡單例項

struts框架整合spring框架的簡單例項

本片文章寫了簡單struts框架與spring框架整合,本文未寫有關struts框架的內容,只寫了spring整合部分的內容,有需要的同學請參考初級學struts(一)搭建基本的struts框架

注:建議先參考上面的連結搭建struts框架無錯誤後,再看本文整合spring框架。

1、匯入spring的包

spring-core.jar、spring-beans.jar、spring-context.jar、spring-expression.jar、spring-web.jar、spring-context.jar

加一個spring和struts的整合包struts2-spring-plugin.jar

struts和spring的所有基礎包如下,不需要管source結尾的資源包。

專案目錄如下,紅圈的是主要的資料夾


2、先新建class類,在src目錄下,新建package為cn.com.struts.facade,在facade目錄下新建class類名為RegisterFacade.java

這個類無任何實際意義,只做spring注入的演示

package cn.com.struts.facade;
public class RegisterFacade {
	public void doRegister(){
		System.out.println("RegisterFacade invoke");
	}
}

3、修改RegisterAction類,增加registerFacade類,編寫引數的get/set方法,並在doRegister方法中呼叫registerFacade.doRegister方法

package cn.com.struts.action;

import cn.com.struts.facade.RegisterFacade;

public class RegisterAction {
	private String name;
	
	private RegisterFacade registerFacade;
	
	public String doRegister() {
		System.out.println("name=" + name);
		registerFacade.doRegister();
		return "success";
	}
	// get方法
	public RegisterFacade getRegisterFacade() {
		return registerFacade;
	}
	// set方法
	public void setRegisterFacade(RegisterFacade registerFacade) {
		this.registerFacade = registerFacade;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

4、在src目錄下新建applicationContext.xml,這個檔案是spring的配置檔案

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="  
    http://www.springframework.org/schema/context  
    http://www.springframework.org/schema/context/spring-context.xsd  
    http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans.xsd ">

	<!-- 容器中注入java類,registerAction和RegisterFacade類 -->
	<bean id="registerAction" class="cn.com.struts.action.RegisterAction" scope="prototype">
		<!-- get/set注入方式,向registerAction中注入registerFacade,name需跟registerAction中的變數名相同 -->
<property name="registerFacade" ref="registerFacade"></property></bean><bean id="registerFacade" class="cn.com.struts.facade.RegisterFacade"></bean><bean id="helloAction" class="cn.com.struts.action.HelloWorldAction" scope="prototype"></bean>
</beans>

在applicationContext.xml配置了bean之後,可以修改struts.xml檔案中class的引用方式如下面第一段程式碼,也可以不更改如下面第二段程式碼

<!-- 重新定義Struts的字尾為do -->
   <constant name="struts.action.extension" value="do" />
   <package name="helloworld" extends="struts-default">
      <!-- class改為spring中配置的id -->
      <action name="hello" class="helloAction" method="execute">
            <result name="success">/register.jsp</result>
      </action>
	<!-- class改為spring中配置的id -->
 <action name="doRegister" class="registerAction" method="doRegister"> <result name="success">/success.jsp</result> </action> </package>


仍使用包名+類名的引用方式
<!-- 重新定義Struts的字尾為do -->  
   <constant name="struts.action.extension" value="do" />  
   <package name="helloworld" extends="struts-default">  
      <action name="hello" class="cn.com.struts.action.HelloWorldAction" method="execute">  
            <result name="success">/register.jsp</result>  
      </action>  
      <action name="doRegister" class="cn.com.struts.action.RegisterAction" method="doRegister">  
        <result name="success">/success.jsp</result>  
      </action>  
   </package>

5、在web.xml中增加spring的監聽器及裝載配置檔案的程式碼

<!-- spring 監聽器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 裝載 spring 配置檔案 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
	</context-param>


到此為止,基本的spring已經整合完成,這裡還沒有涉及到資料庫,會再發表一篇資料庫的整合。


讓我們來看一下效果。
輸入地址,顯示的頁面,然後文字框中輸入任意字元,點選註冊。


eclipse的console列印如下的句子,說明registerFacade注入成功,並呼叫了doRegister方法

相關推薦

struts框架整合spring框架簡單例項

本片文章寫了簡單struts框架與spring框架整合,本文未寫有關struts框架的內容,只寫了spring整合部分的內容,有需要的同學請參考初級學struts(一)搭建基本的struts框架。 注:建議先參考上面的連結搭建struts框架無錯誤後,再看本文整合sprin

框架整合】ssh簡單例項-下篇

本篇我們進行內容的填充,讓專案執行起來 先來看一下專案結構圖: 第一步:配置實體層和響應的對映檔案 package cn.itcast.crm.entity; public class Customer { private Long custId; priva

spring框架整合ibatis的專案例項程式碼

 這兩天一直在研究ibatis與spring的整合 一個小小的demo搞的我頭暈目眩的,但程式一旦跑起來了,突然有一種豁然開朗,重見天日,感覺生活很美好的感覺!,也許,這就是那一行行的程式碼帶給我們的不同享受吧。呵呵,廢話就不多說了。 在此先引用幾句別人的資料。。。

Java - Struts框架教程 Hibernate框架教程 Spring框架入門教程(新版) sping mvc spring boot spring cloud Mybatis

java ee cloud pac .cn java get pin nat 輕量級 https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html

整合Spring框架和Hibernate框架

slf4j erl update rep java 監聽 session hiberna .cn -------------------siwuxie095 整合 Spring 框架和 Hibernate 框架

Quartz 任務調度框架整合Spring使用

uart jobdetail frame depend optional start let ase ron 簡介   Quartz是一個完全由java編寫的開源作業調度框架,其實是啟動定時任務的框架。使用時只需創建一個org.quartz.Job接口的實現類,實現唯一的方

框架】ssm的簡單例項-下篇

先看下專案結構圖: 先編寫控制器DictController和IndexController @Controller public class IndexController { @RequestMapping(value = {"", "/index"})

SSM框架整合( Spring / SpringMVC / Mybatis )

1.建立maven工程匯入座標     Spring: spring-context 5.0.2 (spring容器)     spring-tx 5.0.2(spring事務)     spring

Spring框架整合Struts2框架的傳統方法

1. 匯入CRM專案的UI頁面,找到新增客戶的頁面,修改form表單,訪問Action   * 將menu.jsp中133行的新增客戶的跳轉地址改為:href="${pageContext.request.contextPath}/jsp/customer/add.jsp"   * 將jsp/custom

SSM 框架整合 spring 傳送郵件功能實現!

基於SSM的 spring 傳送郵件的實現 由於考慮到專案中需要,如果程式出現異常或其它問題,可以傳送郵件來及時提醒後臺維護人員處理。所以目前考慮使用JavaMail來實現郵件傳送!如下,是我整理的一些內容,做個筆記記錄下:(當然,在這功能實現之前,需要搭建好

使用IDEA整合Spring框架時右下角警戒

反正看到報錯就不爽,就要去解決它   這個警戒的意思大概就是: spring配置檢查 找到未對映的Spring配置檔案。 請配置Spring的Facet。   那這玩意怎麼配置?   點選IDEA右上角的Project Structure(也可以按快捷鍵啦)

spring boot 整合WebService Cxf簡單例項(rest)

例子如下pom檔案<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

web專案整合spring框架

以下是一個最簡單的示例 1、新建一個標準的javaweb專案 2、匯入spring所需的一些基本的jar包 3、配置web.xml檔案 <?xml version="1.0" encoding="UTF-8"?> <web-app ver

spring boot 整合WebService Cxf簡單例項(soap)

這裡是一個簡單的例子服務端pom檔案如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema

整合SpringMVC框架Spring框架

-------------------------siwuxie095 整合 SpringMVC 框架和 Spring 框架 1、匯入相關jar 包(共 17 個) (1)匯入S

Apache Camel框架整合Spring

Apache Camel提供了和Spring的整合,通過Spring容器(ApplicationContext)來管理Camel的CamelContext,這樣的話,就不需要寫程式碼來控制CamelContext的初始化,啟動和停止了.Camel會隨著Spring的啟動而啟

SpringBoot框架整合SSM實現簡單資料庫增刪改查

首先建立一個Maven工程 第一步:選擇Maven專案建立結構 第二步:配置專案屬性 點選finish即可完成建立 再來看一下專案的目錄 然後配置pom.xml依賴檔案  <?xml version="1.0" encoding="U

CXF整合spring框架實現動態呼叫,找不到函式介面, 新增攔截器無法初始化

介面實現 新增targetNamespace客戶端就不會找不到函式 @WebService(endpointInterface="cn.com.wsws.server.SealService",se

java、struts2框架、hibernate框架spring框架技術、springMVC框架、mybatis框架,javaweb專案開發的完整流程

使用javaEE技術是:spring+springMVC+mybatis框架整合技術 前端使用的技術包含:jquery、ajax、js、css、bootstrap等 教學系統 使用javaEE開發的線上教學系統,使用的是javaEE的主流框架技術,使用主流的前端技術,專案包含全部的專案原始碼以及資料檔案

springboot整合spring data jpa例項

這裡不多介紹jpa和springboot只做使用的實際配置 打好springboot專案之後配置資料來源 首先加入pom依賴 jpa,mysql,lombok(實體上加上@Data註解可以省去get,set,toString,等方法) <dependency