9、ssh的集成方式2
1、在第一种的集成方式中,通过struts2-spring-plugin-2.1.8.1.jar这个插件让spring自动产生对应需要的action类,不需要在对应的spring.xml文件中进行配置,这种方法不能对action进行精确的管理和控制
第二种方式,我们在spring的xml配置文件中对action进行配置和管理
在第一种方式的基础上,我们新建一个applicationContext-action.xml文件

我们在该配置文件中,需要对action进行配置
文件内容如下所示:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<!--name="userService 必须和AddUserAction中的 private UserService userService; 一一对应 -->
<!-- ref="userService"必须和applicationContext-service.xml中<bean id="userService" 一一对应 -->
<!-- 为了保证一个action对应一个线程,这里必须要配置scope="prototype" -->
<bean id="addUserAction" class="com.weiyuan.test.web.action.AddUserAction" scope="prototype">
<property name="userService" ref="userService"/>
</bean>
</beans>
上面有几点必须要注意的:
<!--name="userService 必须和AddUserAction中的 private UserService userService; 一一对应 -->
<!-- ref="userService"必须和applicationContext-service.xml中<bean id="userService" 一一对应 -->
<!-- 为了保证一个action对应一个线程,这里必须要配置scope="prototype" -->
还必须把上面的配置文件加载到applicationContext.xml中
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<import resource="applicationContext-service.xml"/>
<import resource="applicationContext-action.xml"/>
<import resource="applicationContext-dao.xml"/>
<import resource="applicationContext-common.xml"/>
</beans>
2、第二要修改action在struct2中的配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>
<constant name="struts.i18n.encoding" value="GB18030"/>
<constant name="struts.configuration.xml.reload" value="true"/>
<constant name="struts.devMode" value="true"/>
<package name="user" extends="struts-default" >
<action name="add" class="com.weiyuan.test.web.action.AddUserAction">
<result name="sucess">/add_success.jsp</result>
</action>
</package>
</struts>
需要将 <action name="add" class="com.weiyuan.test.web.action.AddUserAction">修改为下面的形式
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>
<constant name="struts.i18n.encoding" value="GB18030"/>
<constant name="struts.configuration.xml.reload" value="true"/>
<constant name="struts.devMode" value="true"/>
<package name="user" extends="struts-default" >
<!-- class="addUserAction">必须和applicationContext-action.xml中配置的<bean id="addUserAction" 一一对应-->
<action name="add" class="addUserAction">
<result name="sucess">/add_success.jsp</result>
</action>
</package>
</struts>
如果这里不进行修改,还是按照第一种方式spring利用 com.weiyuan.test.web.action.AddUserAction产生对应的action对象,就会有问题 经过上面的修改就可以,在项目中我们按照第二种方式集成
程序代码的下载地址是:https://pan.baidu.com/s/1jIckYea
9、ssh的集成方式2的更多相关文章
- 9、ssh的集成方式1
集成方式1:核心 我们没有创建applicationContext-action.xml配置文件,在该配置文件里面让Spring去管理我们的AddUserAction,但是AddUserAction的 ...
- 使用ssh key的方式建立和git服务器的通信
1.以前大家好像都在用https的方式同git来同步代码,但是到了新公司后,主管说要配ssh key,所以大概了解一下 An SSH key allows you to establish a sec ...
- intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理
之前写过一篇IntelliJ IDEA 13试用手记,idea还有很多高大上的功能,易用性几乎能与vs.net媲美,反正我自从改用idea后,再也没开过eclipse,今天来看几个高级功能: 一.与J ...
- Linux使用SSH远程连接方式和更改密码 ,自己空间转移过来的。
一. 远程连接Linux系统需要一个方便的SSH连接工具putty就不错!工具在本日志的附件下载,解压密码是QQ号,云盘访问密码 90891.把远程主机ip和端口号填写上然后选择连接方式为“SSH”. ...
- SSH证书登录方式(无password验证登录)
经常在工作中须要在各个Linux机间进行跳转,每次password的输入成了麻烦,并且也不安全.在实际使用中,在windows下常使用secureCRT工具或teraterm工具进行SSH登录.以及实 ...
- git中的ssh和https方式的使用(gitee为例)
在使用git管理代码,或者使用github,国内的码云(gitee)的时候,有两种方式可以使用,分别是https和ssh,以下均使用gitee为例. ssh方式 配置ssh,如果不配置ssh的话,cl ...
- Putty远程SSH免密码方式链接Linxu
1.首先确保Linxu服务器安装了ssh服务,可以输入ssh命令测试. ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spe ...
- Others-接口集成方式
1. 异步通信方式可分为不互锁.半互锁和全互锁三种类型: a.不互锁方式 主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间.确认从模块已收到请求信号后,便撤消其请求信号:从设备接到请 ...
- spring和resteasy 的集成方式
spring和resteasy集成,三种主要的方式, 对于和jboss as7的集成不需要做任何工作,jboss默认集成了resteasy,只需要对业务pojo做一些jax-rs的注解标注即可.这里讲 ...
随机推荐
- JS代码静态分析及挖掘
JavaScript 已经成为现代 Web 浏览器开发中最普遍的技术之一.使用客户端 JavaScript 框架(如 AngularJS,ReactJS 和 Vue.js)构建的应用程序已向前端输送了 ...
- git的相关基础操作
一.git安装 从https://git-scm.com/下载相应版本安装即可,一路默认安装到底即可,安装目录可以自行选择 二.git配置 安装完git后在任意文件夹内单击鼠标右键,会出现Git GU ...
- Spring boot Sample 002之spring-boot-banner
一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 学习Spring Boot Banner自定义的操作 三.步骤 3.1.点击File -> New Project ...
- java实现第七届蓝桥杯愤怒小鸟
愤怒小鸟 题目描述 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米 两火车 (不妨称A和B) 以时速 10米/秒 相对行驶. 愤怒的小鸟从A车出发,时速50米/秒,撞向B车, ...
- java实现第九届蓝桥杯版本分支
版本分支 第五题:版本分支 小明负责维护公司一个奇怪的项目.这个项目的代码一直在不断分支(branch)但是从未发生过合并(merge). 现在这个项目的代码一共有N个版本,编号1~N,其中1号版本是 ...
- python自学Day06(自学书籍python编程从入门到实践)
第7章 用户输入和while循环 我们设计的程序大多是为了解决用户最终的问题,所以我们大多需要在用户那里获取一些信息. 学习用户输入的获取与处理,学习while循环让程序不断运行直到达到指定的条件不满 ...
- 洛谷 P1115 最大子序和
**原题链接** ##题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. **解法**: 1.暴力枚举 时间:O(n^3) 2.简单优化 时间:O(n ...
- Vue可响应式数组方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- QToolTip 设置提示信息
import sys from PyQt5.QtWidgets import (QWidget, QToolTip, QPushButton, QApplication) from PyQt5.QtG ...
- 记一次@ResponseBody注解返回中文乱码的问题
Bug场景 前端AJax $.ajax({ url: '$!{request.getContextPath()}/XX/save.do', type: 'post', dataType: 'json' ...