ssh集成笔记


ssh集成:
1、集成步骤
1.1 添加框架支持,jar包篇

a、创建Web Project。
b、创建对应的包:dao/service/entity/action等。
c、给项目添加struts支持,在弹出的对话框中选择“Struts2.1”及“/*”,
点击Next选择Core、Dojo以及Spring3组类库,单击Finish完成。
d、给项目添加spring支持,选择Spring3.0,添加前4组类库:AOP、
Core、Persistence Core、Persistence JDBC Lib...和 Web Lib...,
单击Next选择默认创建applicationContext.xml完成。
e、利用MyElipse8.5自带的DB Explorer创建新的DB Driver...
f、给项目添加hibernate支持,选择Hibernate3.3,如果使用注解,
需要勾上Enable Hibernate Annotations... ,类库默认即可,
Next后选择Spring configuration file...点击Next,
选择Existing Spring config...,点击Next选择配置好的DB Driver,
点击Next,取消Create SessionFactory ...单击完成。
1.2 代码编写:
a、利用反向工程生成实体类和映射文件
b、编写DAO接口及实现类
c、编写Service接口及实现类
d、编写Action
e、编写JSP
1.3 配置文件篇:
a、配置web.xml
b、配置applicationContext.xml
c、配置struts.xml
****************************************集成完成****************************************************
例子:web工程《ssh》
件配置详解:
web.xml:
<!-- 过滤器解决延时加载的问题,必须放在所有其他配置的最前面 -->
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<!-- 这个过滤器中把hibernate的session的刷新模式设置成never了,所以在使用之前先配置FlushMode
的这个参数值为AUTO,如果不设置,只可以做查询,不能进行增删改,因为不能持久化了 -->
 <init-param>
<param-name>FlushMode</param-name>
<param-value>AUTO</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 
 
<!-- 读取spring的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!--applicationContext.xml的路径,classpath代表在src下面  -->
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 加载spring的监听器,必须放在web.xml自带的配置之前 ,因为要进行反转-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
applicationContext.xml:
在<beans></beans>标签中添加如下配置
<!-- 往dao中注入sessionFactory -->
<!--id的名字可以任意取,class对应dao的实现类-->
<bean id="AddrDao" class="com.dao.AddressDaoImpl">
<!--name必须为sessionFactory,因为自动生成的id=sessionFactory-->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 往业务中注入dao -->
<!--id的名字可以任意取,class对应biz的实现类-->
<bean id="AddrBiz" class="com.biz.AddressBizImpl">
<!--name需和实现类的set的名字相对应-->
<property name="adao" ref="AddrDao"></property>
</bean>
<!-- 往action中注入业务 -->
<!--bean的属性不是id,而是name,class对应action的实现类-->
<bean name="addrAction" class="com.web.action.AddressAction">
<!--name需和action类的set的名字相对应-->
<property name="abiz" ref="AddrBiz"></property>
</bean>
struts2.xml:
<package name="default" namespace="/" extends="struts-default">
<!--action的name可任取,只要jsp页面的action和其对应即可,注意:class对应的不是action的类,而是和
applicationContext.xml中<bean>标签的name保持一致。
-->
<action name="addr" class="addrAction">
<result name="get">index.jsp</result>
</action>
</package>
****************************************2014-5-10下午**********************************************
spring与filter的集成
使用Spring来管理Filter,实现步骤如下:
1、创建自定义Filter,实现filter接口,添加需要注入的属性及setter方法(注意:无需在web.xml中配置,使用Spring代理类实现功能)
2、在web.xml中配置Filter的代理类:
<filter>
<filter-name>springFilter</filter-name>
<filter-class> org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springFilter</filter-name>
<url-pattern>/*</url-pattern> //需要过滤的Web资源
</filter-mapping>
3、在applicationContext中配置Filter
<bean id="springFilter" class="com.sxt.TestFilter">  
   <property name="service" ref="service"/>  //需要注意的属性名称
</bean>
例子:web项目"ssh"中的MyFilter


spring与Servlet的集成:
spring中没有提供Servlet的代理类,需要自己写一个代理类进行配置
(代理类:DelegatingServletProxy.java)
<!--其他配置基本同filter的配置-->
1、创建自定义Servlet,添加需要注入的属性及setter方法(注意:无需在web.xml中配置,使用自定义代理类实现功能,见DelegatingServletProxy)
2、在web.xml中配置,自己实现的Servlet代理类:
<servlet>
     <servlet-name>springServlet</servlet-name>
     <servlet-class>com.sxt.DelegatingServletProxy </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern> // Servlet访问路径
</servlet-mapping>
在applicationContext中配置Servlet
<bean id="springServlet" class="com.sxt.TestServlet">  
   <property name="service" ref="service"/>  //需要注意的属性名称
</bean>


配置log4j
1、为什么要配置log4j
(1)消除启动服务时的log4j的警告
(2)在ssh的集成项目中一般都配置log4j,为了读取项目运行中的日志以及错误,为了更好地维护
(3)将运行中出现的错误一直打印在控制台上。
2、配置步骤:
a、查看是否导log4j的jar包,在Hibernate3.3 Core Libraries中
b、加log4j的属性文件log4j.properties到src下
c、在web.xml中指定log4j.properties配置文件的位置
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
d、指定log4j的监听程序,用以启动log4j
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
 </listener>
【注意】e、d需要配置在spring的启动监听前,否则还会有警号信息!
log4j.properties:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:/log.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %l  %m%n
log4j.rootLogger=error, stdout, file






spring配置文件的拆分:
(1)新建xml,将xml头部的代码拷贝粘贴。。
(2)在applicationContext.xml中导入其他的xml,
<import resource="application-cfg.xml"/>
(3)在web.xml中修改加载spring的配置
<param-value>classpath:applicationContext.xml,classpath:application-*.xml</param-value>
或者
<param-value>
classpath:applicationContext.xml,
classpath:applicationContext-cfg.xml
</param-value>
【多个配置文件之间用逗号隔开】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值