- 浏览: 157725 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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 379hibernate 简介:hibernate是一个开源框架, ... -
JAVA设计模式总结之23种设计模式
2019-01-29 11:18 424网摘:https://www.cnblogs.com/po ... -
Spring集成redis(SSM框架)
2018-12-29 17:25 453参考:https://blog.csdn.net/weixi ... -
框架底层直接用控制器调用dao的笔记
2018-12-20 15:18 410公司框架操作数据库用到三个核心类,BaseDao、Hibe ... -
利用openoffice进行各种格式转换为PDF
2018-09-03 17:18 2559参考:https://blog.csdn.net/liumi ... -
springmvc常用注解标签详解
2018-03-13 20:26 3581、@Controller 在SpringMVC 中,控制 ... -
2017-08-15 SpringMVC框架项目国际化学习的笔记
2017-08-15 11:37 419springMVC的国际化开发方案 1.项目分支,在分支 ... -
memcached 安全端口设置
2017-07-09 23:05 400-- 设置memcached防火墙过滤规则 iptabl ... -
java 设计模式自学的笔记的源码
2017-03-22 15:16 319java 设计模式自学的笔记的源码 -
SpringMVC3+MyBatis3整合的笔记
2017-03-22 14:55 334在公司基础框架的基础之上增加多数据源的支持,公司框架底层是 ... -
网摘学习知识
2016-02-01 14:28 455用3000个开源项目搜索Java代码:http://www ... -
参数乱码的解决方法
2015-08-09 09:10 446目前收集到4中方法,中文传参一documentPath为例:1 ... -
清楚代码的注释内容
2015-07-17 15:02 514public class ClearComment { ... -
Java开发环境搭建详解
2014-09-17 14:48 542一。jdk安装与配置 jdk7于3月份刚刚发布,目前ecli ... -
Java程序员常用工具类库
2014-07-07 14:49 490参考网址:http://rensanning.iteye.c ... -
OOA/OOD/OOP
2014-02-11 21:42 462OOA Object-Oriented An ... -
国外程序员推荐:每个程序员都应读的书
2012-06-16 12:52 569“如果能时光倒流,回 ... -
使用 CXF 做 webservice 简单例子
2012-06-16 00:05 808Apache CXF 是一个开放源 ... -
Java源码阅读的真实体会
2012-05-30 21:52 760刚才在论坛不经意间, ... -
axis2的使用
2012-04-01 08:59 1340webservice WebService(Axis2)视频 ...
相关推荐
SSH2,全称为Struts2、Spring和Hibernate的整合,是一种常见的Java Web开发框架组合,用于构建高效、灵活的企业级应用程序。在这个框架中,Struts2负责MVC(模型-视图-控制器)架构,Spring提供了依赖注入和事务管理...
SSH整合是Java Web开发中的一种常见模式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的MVC(Model-View-Controller)架构。在这个"ssh整合jar包"中,包含了这三个框架的核心库和其他必要的...
SSH 框架整合是Java开发中常用的一种技术栈,主要由Struts、Spring和Hibernate三个框架组成,它们各自承担着不同的职责,共同构建出高效、可维护的J2EE应用。 Struts作为表现层框架,是MVC设计模式的具体实现,主要...
SSH框架整合搭建是软件开发中常见的一种技术实践,它结合了Struts、Spring和Hibernate三个主要的开源框架,用于构建高效、可维护的企业级Web应用。以下是对SSH框架整合搭建的详细步骤和知识点的解析: 1. **Struts...
在进行SSH整合时,还需要注意以下几点: 1. 版本兼容性:确保使用的SSH框架版本之间是兼容的,避免因版本不匹配导致的问题。 2. 错误处理:正确处理可能出现的异常,例如数据库连接问题、SQL查询错误等。 3. 性能...
SSH整合是Java开发中一种常见的技术栈组合,主要包括Struts2、Spring2.5和Hibernate3这三大框架。这三个框架的结合,旨在提供一个高效、松耦合且可扩展的Web应用开发解决方案。 首先,Struts2是一个强大的MVC...
SSH整合,全称为Struts+Spring+Hibernate整合,是Java Web开发中常见的一种技术栈组合。这个案例将探讨如何在实际项目中将这三个强大的开源框架有效地集成在一起,以实现高效、松耦合的Web应用程序。 Struts是MVC...
SSH(Struts+Spring+Hibernate)是Java Web开发中一种常见的框架集成,它结合了Struts的MVC设计模式、Spring的IoC(控制反转)和AOP(面向切面编程)以及Hibernate的对象关系映射功能,为开发者提供了一种高效、灵活...
SSH整合是Java Web开发中的一种常见技术组合,指的是Struts2、Spring和Hibernate三大框架的集成。这三种框架分别在表现层、业务层和服务层扮演重要角色,它们的结合能够帮助开发者构建高效、灵活和可维护的Web应用...
SSH(Struts、Spring、Hibernate)是Java Web开发中常用的一种框架组合,它结合了Struts的MVC设计模式、Spring的IoC(控制反转)和AOP(面向切面编程)以及Hibernate的对象关系映射功能,大大简化了Java企业级应用的...
SSH框架整合项目是一种常见的Java Web开发模式,它涵盖了Spring、Struts和Hibernate这三个流行开源框架的集成应用。Spring提供了依赖注入(DI)和面向切面编程(AOP),用于管理对象和处理业务逻辑;Struts则负责MVC...
SSH框架整合是Java Web开发中常见的一种技术栈组合,它由Spring、Struts2和Hibernate三个框架构成。这个"SSH框架整合jar包"是开发者为了方便项目构建,避免手动逐个添加和配置这三个框架所需的库文件而制作的集合。...
SSH整合是Java开发中一种常见的Web应用程序框架组合,由Struts、Spring和Hibernate三个开源框架构成。这个项目和笔记提供了关于如何将这三个框架集成到一起的详细步骤和实践经验。 Struts是MVC(模型-视图-控制器)...
SSH整合是Java开发中常见的一个技术组合,它涵盖了Spring、Struts和Hibernate这三个开源框架。SSH框架的整合能够提供一个高效、灵活且可扩展的Web应用程序解决方案。在本项目"SSH-struts第一种方式整合"中,我们将...
SSH整合的具体步骤通常包括以下几个部分: 1. **配置Spring**:创建Spring的配置文件,定义Bean并配置依赖注入。比如,定义数据源、SessionFactory、Service、DAO等,并设置相应的属性。 2. **配置Struts2**:设置...
SSH框架整合是软件开发中的一种常见技术,主要指的是Spring、Struts2和Hibernate这三大开源框架的集成。这个例子提供了SSH框架整合的具体实现,对于初学者来说,是理解和掌握这一技术的重要参考资料。 Spring是一个...
SSH(Struts+Spring+Hibernate)是一个常见的Java Web开发框架,用于构建高效、可维护的Web应用。Ajax(Asynchronous JavaScript and XML)则是一种在不刷新整个网页的情况下更新部分网页的技术,可以提供更流畅的...
SSH整合是Java EE开发中的一种常见模式,它指的是Spring、Struts和Hibernate这三个开源框架的集成。这三种框架分别在不同层面上为Web应用程序提供服务,Spring负责IoC(Inversion of Control)和AOP(Aspect ...