- 浏览: 149915 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (210)
- java (44)
- javascript (5)
- 网摘 (21)
- 程序人生 (19)
- hibernate (21)
- spring (7)
- struts (1)
- jquery (2)
- mssql (3)
- mysql (3)
- oracle (7)
- 学习日记 (10)
- PowerDesigner (1)
- android (4)
- 调试 (1)
- tomcat (3)
- webapp (1)
- context (2)
- jsp (2)
- 学习 (18)
- 态度 (4)
- 坚持 (4)
- jsf (1)
- ui (1)
- css (1)
- seam (0)
- 转载 (5)
- JNDI (1)
- 创业 (1)
- 公司 (1)
- 方向 (1)
- ETL (1)
- Datastage (1)
- 数据整合 (1)
- 心情,感触 (1)
- 开发 (2)
- 测试 (1)
- 需求 (1)
- 湿身 (1)
- 网购,分类 (1)
- 驾校,转载 (1)
- 中秋,露营 (1)
- 域名 (1)
- 空间 (1)
- 网站程序 (1)
- SolrCloud (1)
- Solr (6)
- 全文库 (1)
- HBase (1)
- Hadoop (1)
- 网络应用 (1)
- 数据结构 (1)
- NoSQL (1)
- jQueryEasyUI (1)
- 面试 (1)
- 三十六计 (1)
- S2S3H4 (1)
- jar (1)
- war (1)
- web 项目 (1)
- Subversion (1)
- TortoiseSVN (1)
- MyEclipse (1)
- eclipse svn插件 (1)
- SQL2005 (1)
- ASP (1)
- 笔记 (2)
- 虚拟器、centOS、jdk、tomcat、nginx (1)
- memcached (1)
- nginx (1)
- telnet (1)
- nfs (1)
- zookeeper (2)
- window (1)
- linux (3)
- cronolog (1)
- web (1)
- mybatis (3)
- 设计模式 (1)
- 测试覆盖率 (1)
- EclEmma (1)
- tomcat7 (1)
- sore (1)
- 时间 (1)
- fackbook (0)
- facebook (1)
- IK (2)
- PKUSUMSU (1)
- openoffice (1)
- pdf (1)
- memcache (1)
- 动态词库 (1)
- 动态同义词 (1)
- centos7.3 (2)
- maven (4)
- 111 (0)
- nexus (2)
- 23种设计模式 (1)
- springboot (1)
- shiro (1)
- redis (1)
- rabbitMQ (1)
- native (1)
- dll (1)
- jasperReports (1)
- ireport (1)
最新评论
-
zhongfenglin:
学车的经历 -
Tiny_小小:
...
网购的选择 -
jrjr200411:
楼主写的好!
面对大公司和小公司的选择 -
feelboy:
说的很好。
每周四十小时,你有多少是在为自己干活?
Spring实例Action的两种方式:
1、DelegatingActionProxy类整个Action由Spring实例
2、DelegatingRequestProcessor类extends RequestProcessor重写processActionCreate方法,由Spring创建
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
SSH整合第一式:缺点:麻烦一个方法对应一个<bean>如何实现整合的:
重写了Action类的execute方法,使用Spring容器来实例bean,查找bean的名字是<action path="">的值
①struts-config.xml
<action ……
path="/doSave"
type="org.springframework.web.struts.DelegatingActionProxy">
</action>
②applicationContext.xml
<bean name="/doSave" class="com.yourcompany.struts.action.UserinfoAction">
<property name="manager" ref="userInfoManager"></property>
</bean>
注解:name="/doSave" 取得时<action path="/doSave" />
SSH整合第二式:第一式的延伸,使用MyDelegatingActionProxy类继承DelegatingActionProxy和DispatchAction类
缺点:实现起来太繁琐;优点:一个Action类对应一个<bean>
①struts-config.xml
<action ……
type="com.yourcompany.struts.action.UserinfoAction">
</action>
②applicationContext.xml
<bean name="com.yourcompany.struts.action.UserinfoAction" class="com.yourcompany.struts.action.UserinfoAction">
<property name="manager" ref="userInfoManager"></property>
</bean>
③Action extends MyDelegatingActionProxy
注解:
1、如果不继承DispatchAction类的话就会产生死循环调用execute方法的问题。
DelegatingActionProxy类的作用:改变Action类的创建方式,改成由Spring容器创建的
DispatchAction类的作用:把execute方法分解成多个普通方法执行
2、屏蔽死循环问题必须在MyDelegatingActionProxy类重写execute方法一下是此类的关键代码:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Action delegateAction = getDelegateAction(mapping);
String parameter = getParameter(mapping, form, request, response);
String name = getMethodName(mapping, form, request, response, parameter);
return dispatchMethod(mapping, form, request, response, name,
delegateAction);
}
SSH整合第三式:使用DelegatingRequestProcessor类
缺点:一个方法一个<bean>
①struts-config.xml
<action ……
type="com.yourcompany.struts.action.UserinfoAction">
</action>
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
</controller>
②applicationContext.xml
<bean name="/doSave" class="com.yourcompany.struts.action.UserinfoAction">
<property name="manager" ref="userInfoManager"></property>
</bean>
注解:name="/doSave" 取得时<action path="/doSave" />
SSH整合第四式:自定义MyDelegatingRequestProcessor类extends DelegatingRequestProcessor,重写determineActionBeanName方法,return mapping.getType();
优点:一个Action对应一个<bean>,[推荐,常用]
①struts-config.xml
<action ……
type="com.yourcompany.struts.action.UserinfoAction">
</action>
<controller>
<set-property property="processorClass" value="MyDelegatingRequestProcessor类路径"/>
</controller>
②applicationContext.xml
<bean name="com.yourcompany.struts.action.UserinfoAction" class="com.yourcompany.struts.action.UserinfoAction">
<property name="manager" ref="userInfoManager"></property>
</bean>
SSH整合第五式:继承ActionSupport、DispatchActionSupport、MappingDispatchActionSupport
①struts-config.xml
<action ……
type="com.yourcompany.struts.action.UserinfoAction">
</action>
②applicationContext.xml
<bean name="com.yourcompany.struts.action.UserinfoAction" class="com.yourcompany.struts.action.UserinfoAction" />
<bean id="userinfoManager" class="com.yourcompany.struts.action.UserinfoAction" />
注解:UserInfoAction extends MappingDispatchActionSupport实现onInit方法
manager=(IUserInfoManager) getWebApplicationContext().getBean("userInfoManager");
不需要set方法
问1:这段代码在什么时候执行,起什么作用?
<controller>
<set-property property="processorClass" value="org.springframework.web.struts.DelegatingActionProxy"/>
</controller>
答:在ActionServlet类的process方法中
RequestProcessor processor = getProcessorForModule(config);读取返回一个RequestProcessor对象,如果没有配置的话就会采取默认的,也就是Struts的核心类RequestProcessor
问2:ContextLoaderPlugIn类的作用,如何使用?
答:在struts-config.xml中配置
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLication" value="/WEB-INF/classes/applicationContext.xml"/>
</plug-in>
相当于再web.xml中配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
道理是相同的。
一般是配置在web.xml中。
发表评论
-
Hibernate工作原理
2019-05-14 20:00 320hibernate 简介:hibernate是一个开源框架, ... -
JAVA设计模式总结之23种设计模式
2019-01-29 11:18 315网摘:https://www.cnblogs.com/po ... -
Spring集成redis(SSM框架)
2018-12-29 17:25 381参考:https://blog.csdn.net/weixi ... -
框架底层直接用控制器调用dao的笔记
2018-12-20 15:18 377公司框架操作数据库用到三个核心类,BaseDao、Hibe ... -
利用openoffice进行各种格式转换为PDF
2018-09-03 17:18 2513参考:https://blog.csdn.net/liumi ... -
springmvc常用注解标签详解
2018-03-13 20:26 3171、@Controller 在SpringMVC 中,控制 ... -
2017-08-15 SpringMVC框架项目国际化学习的笔记
2017-08-15 11:37 376springMVC的国际化开发方案 1.项目分支,在分支 ... -
memcached 安全端口设置
2017-07-09 23:05 361-- 设置memcached防火墙过滤规则 iptabl ... -
java 设计模式自学的笔记的源码
2017-03-22 15:16 256java 设计模式自学的笔记的源码 -
SpringMVC3+MyBatis3整合的笔记
2017-03-22 14:55 300在公司基础框架的基础之上增加多数据源的支持,公司框架底层是 ... -
网摘学习知识
2016-02-01 14:28 420用3000个开源项目搜索Java代码:http://www ... -
参数乱码的解决方法
2015-08-09 09:10 415目前收集到4中方法,中文传参一documentPath为例:1 ... -
清楚代码的注释内容
2015-07-17 15:02 467public class ClearComment { ... -
Java开发环境搭建详解
2014-09-17 14:48 505一。jdk安装与配置 jdk7于3月份刚刚发布,目前ecli ... -
Java程序员常用工具类库
2014-07-07 14:49 457参考网址:http://rensanning.iteye.c ... -
OOA/OOD/OOP
2014-02-11 21:42 430OOA Object-Oriented An ... -
国外程序员推荐:每个程序员都应读的书
2012-06-16 12:52 531“如果能时光倒流,回 ... -
使用 CXF 做 webservice 简单例子
2012-06-16 00:05 776Apache CXF 是一个开放源 ... -
Java源码阅读的真实体会
2012-05-30 21:52 722刚才在论坛不经意间, ... -
axis2的使用
2012-04-01 08:59 1301webservice WebService(Axis2)视频 ...
相关推荐
ssh整合所需包.........................
JAVAWeb课程设计--注册登录系统--用SSH...-用SSH框架整合实现注册登录系统.pdfJAVAWeb课程设计--注册登录系统--用SSH框架整合实现注册登录系统.pdfJAVAWeb课程设计--注册登录系统--用SSH框架整合实现注册登录系统.pdf
SSH整合WebService框架XFire搭建总结.pdf
SSH整合方式5种 SSH整合方式5种 SSH整合方式5种
人人都玩开心网 ExtJS Android.SSH整合开发Web与移动SNS.(李宁)
ssh整合的讲解ssh整合的讲解ssh整合的讲解ssh整合的讲解
SSH整合时,commons-pool.jar和commons-dbcp-1.2.1.jar包
实例讲解spring整合struts的几种方式 1,使用Spring 的 ActionSupport 2, 使用Spring 的 DelegatingRequestProcessor 类。 3,全权委托。
SSH整合配置.docSSH整合配置.docSSH整合配置.docSSH整合配置.docSSH整合配置.docSSH整合配置.docSSH整合配置.doc
ssh框架整合搭建[整理].pdf
ssh框架整合搭建[归纳].pdf
SSH整合步骤.doc SSH整合步骤.doc SSH整合步骤.doc SSH整合步骤.doc 详细图解
整合ssh时的几种方式,以上纯属个人总结...
ganymed-ssh2-build ssh2 ch.ethz.ssh2.Connection ch.ethz.ssh2.SCPClient
ssh+mysql整合[参考].pdf
SSH 整合原代码 包括2种方式:注解&xml;配置 (已测试, 原创) 包含所需的lib
ssh2 三种方式 一种:全是xml 二种 xml加注解 三种 全是注解
SSH整合详细步骤&SSH整合详细步骤SSH整合详细步骤&SSH整合详细步骤
ssh整合jar包-4.3.9 ssh框架所需全部jar包,全部都有,欢迎下载。Struts2 + hibernate5 + spring 4.3.9
利用ch.ethz.ssh2操作进行SSH进行操作下载文件代码,主要利用Linux命令进行操作,方便简单