对ssi不熟悉导致经常纠结于各种配置文件,对其如何整合也似懂非懂。干脆来写写罢(主要写我不熟悉的,路过的同志可能不适合阅读此文)
一、web.xml
1、contextConfigLocation:Spring容器启动时需要加载Spring的配置文件,默认是/WEB-INF目录下的applicationContext.xml文件。当然也可以放在classpath下,可以包括多个spring配置文件----这就得依靠contextConfigLocation。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
(开头的斜杠可有可无,可以是/WEB-INF/xxx.xml,也可以是WEB-INF/xxx.xml)
如果web.xml中没有配置context-param,spring的配置就像如上这段代码示例一下,自动去WEB-INF目录下寻找applicationContext.xml。此时,如果你修改applicationContext.xml的名称,或者移除它,再启动服务器,你会得到如下异常信息:
nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
这证实了其默认配置。默认配置情况下spring只会去WEB-INF目录下寻找配置文件,而不会去classpath下寻找。
如果我们不想将配置文件放在WEB-INF目录下呢?开发中经常在src下面创建一个config目录,用于存放配置文件。此时,对应的param-value改为:classpath:config/applicationContext.xml。
一定要加上classpath,这告诉spring去classes目录下的config目录下面寻找配置文件。如果不加呢?则去war包的根目录下面寻找配置文件(此处要多多熟悉war包结构)。
怎样加载多个spring配置文件呢?很简单,param-value对应多个值,并且以逗号、空格、分号分隔配置文件字符串。例如:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml,/WEB-INF/a.xml;classpath:c.xml</param-value>
</context-param>
这样就加载了三个spring的配置文件。
也可以使用通配符,例如:加载classpath下config目录中所有applicationContext-开头的xml文件:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/applicationContext-*.xml</param-value>
</context-param>
2.如何启动Spring容器。
两种方法,一种以listener启动,一种以load-on-startup Servlet。先看第一种:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
第二种:
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
二选一,区别不大,都依赖于ContextLoader。
3.整合struts
也不难,通过配置servlet进行:
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
二。spring配置文件
可以在spring的配置文件中导入其他的spring配置文件:
<import resource="applicationContext-2.xml"/>
这里的import是基于相对路径。
加载properties文件:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/mail.properties</value>
<value>WEB-INF/jdbc.properties</value>
</list>
</property>
</bean>
通过属性占位符加载了两个properties文件,在随后的配置文件中即可使用${key}的方式使用properties中的value值。
三。spring整合ibatis配置文件
spring是通过实例化SqlMapClient对象时通过指定其configLocation指定ibatis的配置文件的。例如:
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="WEB-INF/sql-map-config.xml"/>
</bean>
应用程序会去WEB-INF目录下寻找sql-map-config.xml文件。
四.sql-map-config.xml
ibatis本身的配置不难:
<settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"
maxSessions="10" maxTransactions="5" useStatementNamespaces="true" />
引入properties文件:
<properties resource="database.properties"/>
可以导入其他的ibatis映射文件:
<sqlMap resource="com/ailk/liaofeng/user/dao/ibatis/SystemUser.xml" />
ibatis有一套自己的配置我就不讲了,这里主要讲如何跟spring整合,所以,dataSource,transactionManager等对象都会使用spring进行配置。(ibatis配置文件请参考http://imticg.iteye.com/blog/216080)
四.struts.xml
<constant name="struts.objectFactory" value="spring"/>
<include file="newstruts.xml"/>
第一句,constant配置struts的常量(也可在struts.properties)文件中配置),将struts的对象工厂托由spring管理。
第二句,导入其他的struts配置文件。
其他详细配置参考:http://hanxin0311.iteye.com/blog/206675
分享到:
相关推荐
自己总结了Spring+Struts+ibatis中的各种问题以及讲解各个配置文件和项目架构
Spring+Struts2+Ibatis整合例子,jar太大不让上传,删除了,看配置文件吧
flex+spring+struts2+ibatis 整合的eclipse工程,可以导入eclipse环境下直接使用,因为加入开发的jar大于了上传的最大限制,只能把jar另外打包上传,下载可以从我上传资源的lib1,lib2下载,这个工程的搭建花费了我两...
里面融合了spring+struts+ibatis用到的配置文件模板,这样我们就可以不用到处去找了。。
数据同步程序,使用ibatis+spring+struts,利用xml配置文件,自定义xml读写。下载导入即可使用,javaee5
j2ee的框架搭建,是很好学习教程,希望对初学者开发有用。
如果是入门学习,或者想看看struts+spring+ibatis怎么集成在一起,可以下载看看。已经通过测试。jar包全,需要本地装mysql,或者修改jdbc配置文件
这是本人从实际项目开发中总结出来的,具有很强的实用性,有关Struts,Spring,Ibatis,web 四个文件的详细配置。值得初学者,以及想实际搭建框架者学习。
文档包含了struts2+spring+ibatis框架所需jar包,各种配置文件以及Java中的使用
struts1+spring2+ibatis2开发的用户登录案例 用简单的语言带你进入javaweb开发 体会实用ibatis开发带来的快乐 就是配置ibatis文件有点麻烦,但是配置好后,就会用得很爽 对于想学习的人来说,这是很好的一个案例
NULL 博文链接:https://firezhfox.iteye.com/blog/1735707
Struts2+Spring+ibatis实现怎删改查以及分页的功能。本文档将项目的配置文件、源代码等全部实现。方便初学者学习ssi三大框架的整合,以及一个相对复杂的难题——与ssi框架结合的分页。该文档十分详细,按照代码结构...
Spring+ibatis框架struts2的配置以struts.xml为主要配置文件,该文件配置了URL和java类之间的对应关系,struts支持多个配置文件并存,所以某个模块的配置文件可以新建一个struts-模块名.xml,并在此文件中进行配置。
完全由Spring接管DWR AJAX处理(不需要配置dwr.xml)等技术点 源码在/mytest/WEB-INF/src下 Winxp sp3+JDK1.6+Tomcat 6.0下运行通过 因文件长度限制,未加入相关类库,请自行加入,需要的类库有: dom.jar...
最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置文件的烦锁,希望能给更多喜欢...
这是自己整合的Spring 3.0+Struts2+Mybatis 3 + p6spy +ehcache的平台框架,内含一点示例代码,目前ehcache没有使用。直接编译后发布就能用 测试环境基于JDK1.6+Tomcat 6.0. 大家拿到后请根据实际情况修改 ...
实现了ibatis+struts1+spring简单增删查改,包括oracle建表语句,和配置文件
包括ssi框架整合所需包,配置文件如何配置,如何使用
spring和struts2及ibatis整合,myeclipse,及eclipse通用,所用配置文件齐全,直接可以运行
1.1 修改Spring配置文件 1.1.1 查找并打开prodcut/WebRoot/WEB-INF/spring-context/applicationContext.xml文件。数据库配置引入 的是init.properties,读者也可自行更改。 1.1.2 数据库配置 修改工程中admanager...