SSH集成开发宝典步骤
ssh整合流程.xls
第一步:创建web工程注意:对勾要选上,创建web.xml创建完的web工程第二步:创建项目资源包第三步:创建datasource打开DBBrowser视图新建datasource连接选择数据库:选中下面第三项,点add按钮,选择需要的数据库。
然后finish。
第四步:添加Spring框架。
web工程上点右键,myeclipse->project facets[capabilities]->install spring facetfinish然后删除spring配置文件applicationContext.xml 重新创建spring配置文件applicationContext.xml src上点右键new->Other…找到myeclipse->spring->spring bean definition 然后点next选中aop,选择版本选中beans,选择版本选中p,然后finish第五步:添加hibernate框架选择3.1的版本,很重要,一定要注意!!!!第六步:hibernate反向工程生成实体类,mapping,dao层。
打开DBBrowser视图,然后找到数据库里的表。
选中所有表,右键hibernate reverse engineering点击brower按钮,选中要生成到的包。
finish然后把所有的dao层的类,拖到dao的包里。
第七步:添加struts框架选struts2的jar包要注意:先选中下面红框的对勾,再把核心包的第一个antlr-2.7.2.jar的对勾去掉finish第八步:整合struts2到spring。
修改struts.xml,加入常量定义:<constant name="struts.objectFactory" value="spring"></constaOK,恭喜,SSH框架整合完毕!!!追加配置:applicationContext.xmlvalue="jdbc:mysql://localhost:3306/houserent"> </property><property name="username" value="root"></property><property name="password" value="root"></property> </bean>。
ssh整合框架原理及流程
ssh整合框架原理及流程SSH(Spring、Struts和Hibernate)框架整合的原理和流程如下:原理:1. 控制反转(IoC):IoC是一种设计原则,通过这种原则,对象之间的依赖关系由容器来控制,而非传统的直接操控。
这使得程序代码更加灵活,易于复用。
2. 依赖注入(DI):DI是IoC的一种实现方式。
通过DI,组件之间的依赖关系由容器在运行时决定,并动态地将这种关系注入到组件中。
流程:1. 建立web工程,并将其编码设置为UTF-8。
2. 将整个JSP页面也设置为UTF-8编码格式。
3. 建立三个source folder文件:src(存放源代码)、config(存放所有的配置文件,如Struts、Hibernate和Spring配置文件)、test(存放测试类)。
4. 在WebRoot\WEB-INF\lib中导入相应的jar包。
5. 配置文件。
在这个文件中,Spring容器以监听器的形式与Tomcat整合。
6. Struts负责控制Service(业务逻辑处理类),从而控制Service的生命周期。
这样层与层之间的依赖很强,属于耦合。
7. 使用Spring框架来控制Action对象(Struts中的)和Service类。
这使得两者之间的关系变得松散。
Spring的IoC机制(控制反转和依赖注入)正是用在此处。
8. Spring的AOP应用:事务的处理。
在以往的JDBCTemplate中,事务提交成功、异常处理都是通过Try/Catch来完成。
整合SSH框架的目的是提高软件开发的效率和灵活性,减少代码的冗余和复杂性,使代码更易于维护和扩展。
SSH框架组合开发J2EE流程总结
SSH框架组合开发J2EE流程总结1.主要说明SSH各部分的作用:1>Struts,Struts总的来说就是两个字--"动作"全程通过struts-config.xml进行配置动作,配置表单,配置动作以及转发:主要有ActionForm,Action的书写(Action我建议用Struts的DispathAction,后面在Spring 的配置的时候大大减少配置量)和struts-config.xml的配置!2>hibernate,hibernate总的来说就是三个字--"持久层"主要负责持久层:通过hibernate.cfg.xml配置数据库的连接,配置javabean的数据库映射xml文件,书写持久层,这里的持久层Manager,通过spring注入的DAO数据库的实现完成一些方法,其中hibernate 的DAO要通过Spring提供的HibernateDaoSupport类,进行方法的实现与数据库的增删改,更新等操作.3>spring,spring总的来说就是两个字--"管理",管理整个流程,对事务的管理,对hibernate的管理(创建数据库的连接),对Struts的管理(管理Struts 全部的动作),管理hibernate的Manager和Dao(主要是对Manager中的dao进行对象的注入).2.主要的配置和代码:1>.总的配置web.xmlweb.xml是J2EE web方向的心脏,配置如下:<web-app><!--配置struts--><servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param><init-param><param-name>debug</param-name><param-value>3</param-value></init-param><init-param><param-name>detail</param-name><param-value>3</param-value></init-param><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><!-- 配置spring --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext-*.xml</param-value><!--这里有三个spring的配置文件applicationContext-actions,applicationContext-beans,applicationContext-commons--> </context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</liste ner-class></listener><!-- 这是Spring中的一个编码过滤器--><filter><filter-name>Spring character encoding filter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-cla ss><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>Spring character encoding filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 这个过滤器是用在一个页面请求时,打来Session,生成完页面生关闭Session,这样就可以解决laze --><filter><filter-name>hibernateFilter</filter-name><filter-class>org.springframework.orm.hibernate3.support.OpenSessionInView Filter</filter-class></filter><filter-mapping><filter-name>hibernateFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--spring来对hibernate的应用--></web-app>web.xml主要配置基本的动作转发交给struts-config.xml,Spring的监听器listener:org.springframework.web.filter.CharacterEncodingFilter,乱码的处理UTF-8,和hibernate的小配置org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.2>Struts的配置:Struts-config配置(主要介绍Action的配置,这里的Action为DispathAction)<action-mappings><!--这个进行User的全部操作,一般为这种款式的链接/User.do?Action=login--><action path="/User"type="org.springframework.web.struts.DelegatingActionProxy"name="UserActionForm"parameter="Action"scope="request"validate="false"><!-- 登陆转发页面--><forward name="Login_Success" path="/user/ShowMessage.jsp"/><forward name="Login_Failed" path="/login_f.jsp" /></action>Action由操作业务层要用到Spring的注入(构造/设置)的Manager,我代码:XXXAction extemds DispathAction{private VideoManager videoManager;//设置注入public void setVideoManager(VideoManager videoManager) {this.videoManager = videoManager;}//后面就可以直接用videoManager去操作业务层了,}//这里为什么能注入videoManager,是因为这里的XXXAction由Spring管理,而Struts的Action只是通过org.springframework.web.struts.DelegatingActionProxy让Spring来管理,当产生这个动作,Spring就set注入videoManager到XXXAction的类中.所以这里videoManager 有值!!!3>hibernate的配置主要的hibernate.cfg.xml和javabean的映射,DAO的书写问题hibernate.cfg.xml和javabean的映射没有什么变化(单用hibernate的经验就ok),主要是DAO的实现问题:这里可以用Spring提供的类HibernateDaoSupport,很好很强大,这样就不必担心事务(Spring会自动处理),而只是写简短的代码,简化操作,这又体现Spring的管理!!!简短代码展示:XXXDAOImp extends HibernateDaoSupport implements XXXDAO {public void AddMusic(MusicTO music) throws Exception {getHibernateTemplate().save(music);}//这就是添加音乐的代码,够简短吧}这里的XXXDAOImp也要纳入到Spring的管理之中(见后面的Spring配置,主要对Manager里面的DAO进行注入)4>Spring的配置a.applicationContext-actions.xml主要对Struts的动作进行配置(管理全部的Struts 动作)<!-- 对user的全部的Action进行处理,这里用到了DispatchAction,链接形如:NovaMedia/User.do?Action=Login--><bean name="/User" class="erAction"><property name="userManager" ref="userManager"></property><property name="musicManager" ref="musicManager"></property></bean>b.applicationContext-beans.xml主要对hibernate里面的DAO和Manager进行全部的配置(管理hibernate)<!-- GREATWQS说明:这个只是配置一切的DAO和Manager的配置和联系--><bean id="adminDAO" class="greatwqs.hibernate.dao.imp.AdminDAOImp"><property name="sessionFactory" ref="sessionFactory"></property></bean><bean id="adminManager"class="greatwqs.spring.service.imp.AdminManagerImp"><property name="adminDAO" ref="adminDAO"/></bean><!--配置管理员的DAO和Manager完毕-->c.applicationContext-commons.xml主要配置(Spring的基本配置)<beans><!--GREATWQS说明:这个配置文件是针对spring的常用的功能进行的配置:sessionFactory,事务,AOP等的配置--><!-- 配置SessionFactory --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"><value>classpath:hibernate.cfg.xml</value></property></bean><!-- 配置事务管理--><bean id="TxManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 配置事务的传播性--><tx:advice id="txAdvice" transaction-manager="TxManager"><tx:attributes><!--propagation="REQUIRED"有事务则直接用,无事务则直接开启--><tx:method name="Add*" propagation="REQUIRED"/><tx:method name="Delete*" propagation="REQUIRED"/><tx:method name="Modify*" propagation="REQUIRED"/><tx:method name="*" read-only="true"/></tx:attributes></tx:advice><!-- 配置那些类的那些方法参与事务--><aop:config><aop:pointcut id="pointcut" expression="execution(*greatwqs.hibernate.dao.imp.*.*(..))"/><aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/><!--这里进行应用上面的配置属性,失误的传播属性等方案--> </aop:config></beans>。
ssh系统开发流程
ssh系统开发流程SSH系统开发流程一、引言SSH(Secure Shell)是一种网络协议,用于通过加密的方式在网络中进行安全的远程登录和文件传输。
在系统开发中,SSH系统的搭建和开发是一个重要的环节。
本文将介绍SSH系统开发的流程,包括环境搭建、需求分析、系统设计、编码实现、测试和部署等几个阶段。
二、环境搭建在开始SSH系统开发之前,首先需要搭建相应的开发环境。
开发环境包括操作系统、开发工具、数据库等。
选择适合的操作系统和开发工具能够提高开发效率和代码质量。
同时,根据系统需求选择合适的数据库,如MySQL、Oracle等。
三、需求分析在SSH系统开发之前,需要进行详细的需求分析。
需求分析是确定系统功能和性能的过程,包括功能需求、性能需求、安全需求等。
通过与用户和相关团队的沟通,明确系统的目标和要求,为后续的系统设计和开发提供基础。
四、系统设计系统设计是将需求转化为具体的系统架构和模块设计的过程。
在系统设计中,需要确定系统的主要模块和功能划分,并进行详细的模块设计。
模块设计包括模块接口设计、数据结构设计、算法设计等。
同时,还需要考虑系统的可扩展性、可维护性和安全性等方面的设计。
五、编码实现在系统设计完成后,可以开始进行编码实现。
根据系统设计的结果,进行具体的编码工作。
在编码实现过程中,需要严格按照编码规范和代码风格进行开发,保证代码的可读性和可维护性。
同时,还需要进行代码的版本管理,确保代码的稳定性和可追溯性。
六、测试在编码实现完成后,需要进行系统的测试工作。
系统测试包括单元测试、集成测试、系统测试等。
单元测试是对系统的各个模块进行独立测试,确保每个模块的功能正确。
集成测试是对系统不同模块之间的交互进行测试,确保模块之间的协作正常。
系统测试是对整个系统进行全面的测试,验证系统的功能和性能。
七、部署系统测试通过后,可以进行系统的部署工作。
系统部署包括安装、配置和发布等过程。
在系统部署时,需要根据实际情况选择合适的部署方式,如云部署、本地部署等。
详细的SSH框架的整合与开发
详细的SSH框架的整合与开发开发环境:Struts 2.1 + Spring 3.0 + Hibernate 3.3+SQLServer2005 编程环境:MyEclipse8.6整合步骤与原理分析:一、新建工程:SSHLoginWeb工程创建完毕后,从开发环境中,我们可以看到MyEclipse为我们创建了一个JSP主页面——index.jsp一个Web工程配置文件——web.xml打开配置文件web.xml,可以发现:它只定义了一个欢迎页——index.jsp。
二、增加Struts功能支持如图,选中工程,右单击添加Struts功能支持。
随后,在弹出的窗体上选择struts2.1,选择Struts2核心库(注意:Struts2 Spring Libraries是整合Spring所必须的,但是,现阶段如果不使用Spring,就不要添加这个库,否则,测试可能失败)。
单击“Finish”,完成Struts功能添加。
注意: 添加Struts功能支持时,不要启动Tomcat服务器,以库免添加失败。
另外,Struts2的默认后缀名为*.action,可以根据个人爱好修改。
完成Struts2组件添加后,可以发现:除了新增加了一个Struts2的配置文件struts.xml 外,Struts2在web.xml配置文件中还添加了自己的控制器及HTTP请求的过滤器映射,内容如下:<!——定义控制器名称及实现的类文件——><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFi lter</filter-class></filter><!——定义过滤器映射——><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.action</url-pattern></filter-mapping>完成上述配置修改后,以后发送给该工程的HTTP请求,如果是以*.action结尾,则请求会转发给控制器StrutsPrepareAndExecuteFilter处理。
SSH快速开发与整合
ZhangSenWei我的主页 个人资料 我的闪存 发短消息图1-6 图1-7(3)在“New Web Project”对话框的“Project Name:”为web工程起个名字,此处我们起名为frist_Servlet 。
将J2EE Specification Level选中Java EE5.0 其他的不需要改变,默认就好了,单击“Fi nish”按钮,如图1-7 所示。
(4)对准创建好的web工程下的“src目录右键”→选择“New”→选择“Class”,如图1-8所示。
(5)在弹出的New Java Class对话框中的“Name:”中输入HelloWord,其他的不需改变,点击“Finish”按钮,如图1-9所示。
(6)修改HelloWorld类的代码,让其继承于javax.servlet.http.HttpServlet类,代码如下:1 package com.study.struts.;23 import javax.servlet.http.HttpServlet;45 public class HelloWorld extends HttpServlet{67 }8注意:在web应用程序中要想使一个普通的Class类变成一个Serlvet 就必须让这个普通类继承与javax.servlet.http.HttpServlet类。
(7)让HelloWorld重写父类javax.servlet.http.HttpServlet中的“doGet”方法,并输出“HelloWorld”,具体代码如下:1 import javax.servlet.ServletException;2 import javax.servlet.http.HttpServlet;3 import javax.servlet.http.HttpServletRequest;4 import javax.servlet.http.HttpServletResponse;56 public class HelloWorld extends HttpServlet {7 @Override8 protected void doGet(HttpServletRequest req, HttpServletResponse resp)9 throws ServletException, IOException {10 System.out.println("HelloWorld");11 }12 }13(8)打开“WebRoot”目录→“WEB-INF”→“web.xml”文件,如图所示。
SSH框架整合详解(精典)
已经经过本人测试第一步:准备工作MyEclipse 6.0------T omcat6.0所需jar文件:(所有jar文件已整理ssh_jars文件夹)注意:ssh_test项目中采用的是MySql 数据库。
而本文档中配置的是Oracle数据库,注意其中配置的不同之处哦(在相应的地方有注明)第二步:(建立项目,包结构,导入所需jar文件)新建一个web project:建立包结构如下:各包功能说明:com.ssh.config : 配置文件(*.properties),如数据库配置信息com.ssh.resource : 资源文件m : 公共工具(util)包com.ssh.util.orm.hibernate : hibernate DAO 模板com.ssh.model : 各实体类文件com.ssh.service : 业务逻辑包相当于bizcom.ssh..test : 测试包com.ssh.action : struts Action包结构可以根据自己需要自行划分导入jar文件:新建一个User Library: sshJars添加jar文件:将新建的User Library: sshJars加入到项目中:第三步:撰写资源文件jdbc.properties在jdbc.properties 里写上连接数据库的配置信息,此文件的配置信息用于在spring的配置文件中使用,数据库的配置信息也可以写到Spring 的配置文件中,这在一个jdbc.properties文件中是为了方便更改.在com.ssh.resource包中新建下列文件:各文件详细内容及说明如下:----------------------------------------------------------------------------------------------------------------------------------------- applicationContext.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:jee="/schema/jee"xmlns:tx="/schema/tx"xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd/schema/tx/schema/tx/spring-tx-2.5.xsd/schema/jee/schema/jee/spring-jee-2.5.xsd/schema/context/schema/context/spring-context-2.5.xsd"default-lazy-init="true"><description>Spring公共配置文件</description><!-- 属性文件读入 --><bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"><list><value>classpath*:com/ssh/config/jdbc.properties</value></list></property><!-- 数据源配置,主要用于开发测试环境 --><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${ername}" /><property name="password" value="${jdbc.password}" /></bean><!-- 数据源配置,在生产环境使用应用服务器的数据库连接池 --><!-- <jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/store" />--><!-- Hibernate配置 --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBea n"><!—此处hibernate 的映射采用的是.xml 配置则应设置为:class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”--> <property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><propkey="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop><prop key="hibernate.show_sql">true</prop><prop key="e_query_cache">true</prop><propkey="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <propkey="hibernate.cache.provider_configuration_file_resource_path">/ehcache-hiberna te.xml</prop></props></property><property name="annotatedClasses"> <!—此处hibernate 的映射采用的是.xml 配置同则应设置name=”mappingResource”--><list><value>er</value><!—此处hibernate 的映射采用的是.xml 配置同则应设置<value>具体配置文件名(*.hbm.xml)</value>--></list></property></bean><!-- 事务配置 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /><!--JTA环境的事务配置 <bean id="transactionManager"class="org.springframework.transaction.jta.JtaTransactionManager orWebLogicJtaTransactionManager"/>--><!-- 使用annotation定义事务 --><tx:annotation-driven transaction-manager="transactionManager" /><!-- 保证POJO中标注@Required的属性被注入 --><beanclass="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostPr ocessor" /></beans>----------------------------------------------------------------------------------------------------------------------------------------- applicationContext-security.xml:<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="/schema/security"xmlns:beans="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd/schema/security/schema/security/spring-security-2.0.xsd"default-autowire="byType" default-lazy-init="true"></beans:beans>此文件用于AOP的安全验证,也可不添加----------------------------------------------------------------------------------------------------------------------------------------- applicationContext-service.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd"default-autowire="byType" default-lazy-init="true"><bean name="userService" class="erService"></bean><bean name="/hello" class="com.ssh.action.HelloAction"></bean></beans>Service(业务逻辑类)的注入----------------------------------------------------------------------------------------------------------------------------------------- ehcache-hibernate.xml:<ehcache><diskStore path="d:\cache" /><!-- Object cache --><!-- 特别设定User类的Cache,内存中最多只保存5000个User实例,而且idle 600秒过期而Role类没有设置,则使用defaultCache中的默认设定 --><cache name="er" maxElementsInMemory="4" eternal="false" overflowToDisk="true"timeToIdleSeconds="600" /><defaultCache maxElementsInMemory="100000" eternal="true"overflowToDisk="true" /></ehcache>Hibernate 缓存的配置(可以不做配置,如果需要才使用缓存才做配置,建议配置上)----------------------------------------------------------------------------------------------------------------------------------------- 第四步:在m 包下添加下列文件此包为hibernate DAO模板中用到的各种工具类,各文件可以在打包的ssh_test项目中找到.第五步:添加hibernate DAO 模板此包为hibernate DAO模板,SimpleHibernateTemplate.java 中包含了对各实体(增,删,改,查,分页查等)的泛形方法。
SSH集成
真正高质量培训 签订就业协议
Hale Waihona Puke 网 址: 咨询QQ QQ: 咨询QQ:460190900
《深入浅出学Spring3开发》——系列精品教程 深入浅出学Spring3开发》 Spring3开发 系列精品教程
2、个性化配置(专有配置,集成每个WEB框架专有配置) Struts交出控制权 1.1、添加Struts的Spring插件struts2-spring-plugin-*.jar 1.2、指定使用Spring加载Action,开启Struts2结合Spring3,在Struts2配置文件中添加 如下配置: struts.objectFactory = spring或者 org.apache.struts2.spring.StrutsSpringObjectFactory 2.1、在Spring配置Action,必须为原型(scope=“prototype”) <bean id="testAction" class="cn.javass.test.web.TestActioin“ scope=“prototype”> <property name="ebi" ref="testEbi"/> </bean> 2.2、将Action的class修改为Spring配置文件中的Bean名字, <action name="testAction" class="testAction"> <result name="success">/index.jsp</result> </action> Struts帮我们做 帮我们做 WebApplicationContextUtils.getWebApplicationContext( ServletActionContext.getServletContext()).getBean(“testAction");
SSH整合过程(struts-2.3.15.1+spring-3.2.4+hibernate-4.2.3)
SSH整合SSH整合前应该先熟悉各个框架的单独使用,至少要了解各自的xml配置。
环境:struts-2.3.15.1,spring-3.2.4,hibernate-4.2.3,myeclipse10,JDK-1.6,Mysql Jar包:1.新建web项目2.以简单的登录验证为例3.建立login.jsp,login_success.jsp,login_error.jsp4.引入struts2(1)web.xml配置<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepa reAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>(2)src下的struts.xml配置<package name="default"namespace="/"extends="struts-default"><action name="login"class="com.accp.action.LoginAction" method="login"><result name="success"> /login_success.jsp </result><result name="error"> /login_error.jsp </result></action></package>(3)测试struts2是否能够通过5.引入spring(1)配置web.xml,添加listener<listener><listener-class>org.springframework.web.context.ContextLoaderListener </listener-class></listener><!-- 告知spring config location 的存储位置 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:beans.xml</param-value></context-param>(2)配置src下的beans.xml将spring的ApplicationContext.xml拷贝至src下,删除里面的配置项,只保留下面内容<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd"></beans>6.引入hibernate(1)配置beans.xml<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:jee="/schema/jee"xmlns:tx="/schema/tx"xmlns:aop="/schema/aop"xmlns:p="/schema/p"xmlns:util="/schema/util"xmlns:tool="/schema/tool" xmlns:context="/schema/context"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd /schema/tx/schema/tx/spring-tx.xsd/schema/aop/schema/aop/spring-aop.xsd/schema/jee/schema/jee/spring-jee.xsd/schema/context/schema/context/spring-context.xsd/schema/util/schema/util/spring-util.xsd/schema/tool/schema/tool/spring-tool.xsd"default-lazy-init="true"default-autowire="byName"><!--spring jdbc配置数据源 Mysql--><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"value="com.mysql.jdbc.Driver" /><property name="url"value="jdbc:mysql://localhost:3306/test" /><property name="username"value="user"/><property name="password"value="123456"/></bean><!-- hibernate.cfg.xml Spring config --><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><!-- connection --><property name="dataSource"><ref local="dataSource"/></property><!-- hibernate自身属性 --><property name="hibernateProperties"><props><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop><propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <propkey="hibernate.current_session_context_class">thread</prop></props></property><!-- 映射文件<property name="mappingResources"><list><value>com/forwor/ssh/entity/xml/User.hbm.xml</value></list></property>--></bean><!-- 注入 --><bean id="userDao"class="erDaoImpl"> <property name="sessionFactory"><ref local="sessionFactory"/></property></bean><!-- aop --><!-- transaction --><bean id="userManager"class="erManagerImpl"><property name="userDao"><ref local="userDao"/></property></bean><!-- advice --><bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager "><property name="sessionFactory"><ref local="sessionFactory"/></property></bean><!-- 事务处理 --><bean id="transactionInterceptor"class="org.springframework.transaction.interceptor.TransactionInterce ptor"><property name="transactionManager"><ref local="transactionManager"/></property><property name="transactionAttributes"><props><prop key="register">PROPAGATION_REQUIRED</prop><!--hibernate4必须配置为开启事务否则 getCurrentSession()获取不到--><prop key="get*">PROPAGATION_REQUIRED,readOnly</prop><prop key="find*">PROPAGATION_REQUIRED,readOnly</prop><prop key="select*">PROPAGATION_REQUIRED,readOnly</prop><prop key="query*">PROPAGATION_REQUIRED,readOnly</prop><prop key="sync*">PROPAGATION_REQUIRED</prop><prop key="finish*">PROPAGATION_REQUIRED</prop><prop key="add*">PROPAGATION_REQUIRED</prop><prop key="insert*">PROPAGATION_REQUIRED</prop><prop key="edit*">PROPAGATION_REQUIRED</prop><prop key="update*">PROPAGATION_REQUIRED</prop><prop key="save*">PROPAGATION_REQUIRED</prop><prop key="remove*">PROPAGATION_REQUIRED</prop><prop key="delete*">PROPAGATION_REQUIRED</prop><prop key="login*">PROPAGATION_REQUIRED</prop><propkey="*">PROPAGATION_REQUIRED,ng.Exception</prop></props></property></bean><!-- autoproxy 自动创建代理--><bean id="ProxyCreator"class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyC reator"><property name="beanNames"><list><value>*Manager</value></list></property><property name="interceptorNames"><list><value>transactionInterceptor</value></list></property></bean><bean id="loginAction"class="com.accp.action.LoginAction"scope="prototype"><property name="userManager"><ref local="userManager"/></property></bean></beans>7.类图以用户登录验证为基础的测试流程控制8.注意事项(1)login.jsp 输入内容的name为ername user.password时,LoginAction中应该为user生成相应的get/set方法。
SSH集成详细步骤
<beanname="/user"class="erAction">
<propertyname="userBiz"ref="userBiz"></property>
</bean>
14.拷贝commons-pool.jar文件到lib目录。
15.建立jsp文件并提交到action
16.部署项目启动服务器测试框架搭建是否成功
17.
path="/user"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"/>
12.在struts-config.xml配置文件中加插件
13.在applicationContext.xml中管理biz和action的依赖关系
10.用applicationContext.xml管理依赖关系
dataSource->sessionFactory->dao->biz->action
11.添加struts支持,建立form ,action
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
SSH集成
1.建立项目
2.Hibernate数据库配置
3.添加spring支持
4.添加hibernate支持
ssj集成详细过程(附带源文件)
以添加用户为示例的SSH整合全过程,按以下细节集成ssh,包你一次成功,百试百灵,帮你轻松拿下SSH(*^__^*)1.添加struts1.2支持。
(大家应该都会吧!)(同上操作,选择)(同第一步操作,选择)下一步:下一步:下一步:支持添加完毕,首先修改web.xml配置: <<<listenerclass的位置,仔细看看4.到现在环境搭建的差不多了,开始建实体类以及映射文件,dao类(接口以及实现类),完成后如图:下面注意,映射文件中的lazy属性:接下来到hibernate.cfg.xml中写入映射文件:<mapping resource="com/entity/User.hbm.xml" />5.下面开始建前台页面以及action和actionform:struts-config.xml配置如下:6.先写好userDaoImp的具体实现方法:(如下)public class UserDaoImp extends HibernateDaoSupport implements UserDao { //继承HibernateDaoSupportpublic boolean addUser(User user) { //用boolean类型判断转跳页面,也可是voidboolean b=false;this.getHibernateTemplate().save(user); //直接调用模板方法b=true;System.out.println("addUser--"+user.getName()); //顺便加个打印输出测试下,加不加无所谓return b;}}下面注意actionform里面对象不要忘记实例化了:然后在action中调用daoImp的方法;首先添加属性userdao以及提供set方法:private UserDao ud;public void setUd(UserDao ud) {this.ud = ud;}调用的userDaoImp的方法:public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { RegForm regForm = (RegForm) form;// TODO Auto-generated method stubUser user=new User();user.setName(regForm.getUser().getName());user.setPassword(regForm.getUser().getPassword());boolean b=ud.addUser(user); //方法返回boolean类型if (b) {return mapping.findForward("suc");}else{return mapping.findForward("fail");}}7.一切准备就绪,现在开始将userDaoImp以及action注入到spring种,applicationContext.xml的配置如下:<!--将UserDaoImp注入 --><bean id="userDao"class="erDaoImp"><property name="sessionFactory"ref="sessionFactory"></property> // sessionFactory一定要注入到userDao </bean><!-- action --><bean name="/reg"class="com.struts.action.RegAction"><property name="ud"ref="userDao"></property></bean>经过那么多过程,到现在,快启动下tomcat测试看看,没有报错的页面让你心情舒畅很多吧(^_^),先别急着高兴,现在该配置事务了配置事务很简单,在applicationContext.xml中如下配置:(大家手动配下,不要copy了,自配一次才印象深刻嘛)首先,这点很关键:自动生成的applicationContext.xml不完整,准备就绪后就在applicationContext.xml写入如下配置:<!-- 配置事务管理器 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory"ref="sessionFactory"></property>//别忘了注入sessionFactory </bean><!-- 配置事务传播特性 --><tx:advice id="txAdvice"transaction-manager="transactionManager"> <tx:attributes><tx:method name="add*"propagation="REQUIRED"/><<//Listener 监听器的另一种配法:最后dataSource配置参数就可以,可以看看如下代码:<!-- 配置数据源 --><bean id="dataSource" class="mons.dbcp.BasicDataSource"><!—这里需要说明一下的是 name是不能变的只能是driverClassName --><!—value就是指定driverClassName 的值--><!—-${jdbc.driverClassName}类似EL表达式,{}括号里面的实际是你属性文件的里面key,要一一对应--> <property name="driverClassName" value="${jdbc.driverClassName}"/><!—只能是url --><property name="url" value="${jdbc.url}"/><!—只能是username --><property name="username" value="${ername}"/><!—只能是password --><property name="password" value="${jdbc.password}"/></bean>到此,配置结束了···。
ssh集成步骤
Struts + Hibernate + Sptring 集成步骤作者:吴泉时间:2009-07-061、新建一个web工程先将hibernate加入到工程之中,不要创建HibernateSessionFactory2、将spring 导入到工程之中(注意加入jdbc包和web包)3、在applicationContext.xml文件中加入<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSourc e"><property name="driverClassName"value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property><property name="url"value="jdbc:sqlserver://127.0.0.1:1433;databaseName=ssh"> </property><property name="username" value="sa"></property><property name="password" value=""></property></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean "><property name="dataSource" ref="dataSource"></property><property name="hibernateProperties"><props><prop key="hibernate.show_sql">true</prop><prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop></props></property><property name="mappingResources"><list><value>com/t3/entity/Users.hbm.xml</value></list></property></bean>(以上接管hibernate配置文件,可以把hibernate-config.xml文件删掉)4、加入Spring 事务管理<!-- 事务管理器--><bean id="transManager"class="org.springframework.orm.hibernate3.HibernateTransactionMan ager"><property name="sessionFactory"ref="sessionFactory"></property></bean><!-- 事务拦截器--><bean id="trInterceptor"class="org.springframework.transaction.interceptor.TransactionInt erceptor"><property name="transactionManager"ref="transManager"></property><property name="transactionAttributes"><props><prop key="*">PROPAGATION_REQUIRED</prop></props></property></bean><!-- 自动代理 --><bean id="autoProxy"class="org.springframework.aop.framework.autoproxy.BeanNameAutoPr oxyCreator"><property name="beanNames"><list><value>*DAOImpl</value></list></property><property name="interceptorNames"><list><value>trInterceptor</value></list></property></bean>5、测试hibernate和spring连接是否成功Dao层接口化,service层建立,配置进applicationContext.xml文件中,<bean id="UsersDAOImpl" class="ersDAOImpl"> <property name="sessionFactory"><ref bean="sessionFactory" /></property></bean><bean id="usersServiceImpl"class="ersServiceImpl"><property name="usersDAO" ref="UsersDAOImpl"></property></bean>先用getbean()测试是否能够成功操作数据库,如果成功,继续下一步,如果失败,检查上面步骤6、加入struts到工程中,进行struts和spring的集成首先,在struts-config.xml中加入一个插件<plug-inclassName="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation"value="/WEB-INF/classes/applicationContext.xml"/></plug-in>该插件用来接管struts的ACTION,同时配置一个请求控制器<controller><set-property property="processorClass"value="org.springframework.web.struts.DelegatingRequestProcessor"/></controller>改控制器用来处理数据同时去掉struts-config.xml文件中的action中的type属性,让控制器转到spring里面处理7、测试struts+spring集成成功与否新建一个jsp+formBean+actionAction里面set注入service同时在applicationContext.xml里面配置相应信息<bean name="/login" class="com.t3.struts.action.LoginAction"> <property name="usersService"ref="usersServiceImpl"></property></bean>注意上面bean的name值要和struts-config.xml文件中的action保持一致,class 为struts-config.xml里面要处理的业务的action,转移到了spring8、将web工程加载到tomcat里面,测试业务能够进行,如果成功,则ssh集成成功,否则,检查上面的步骤。
SSH整合项目开发
SSH整合项目开发一、做好需求分析,完成需求分析文档a)软件设计概要:要完成的功能、uml用例图、开发使用的相关技术b)注册页面c)数据库设计,规划表二、开发的详细步骤a)创建web项目b)把相关界面先写出来(提前整理好素材)i.素材要放到webroot路径下的文件夹里ii.分析页面结构iii.结合Css、js写出项目界面(头部、尾部)或者写出模板iv.完成注册界面三、数据库设计a)创建数据库b)设计数据表c)设计关联关系d)导入到数据库四、加入Springa)加入spring开发包b)配置xml文件c)测试applicationContext ac = new classPathXmlApplictionContext(“路径”);testService ts = (testService)ac.getBean(“testService”);System.out.println(ts);五、整合hibernatea)整合的两种方式:i.使用myeclipse的逆向工程关系模型->对象模型1.使用DB逆向生成a)连接到数据库,生成beanb)导入hibernate开发包c)配置hbm文件(右击DB里的表名,选择Hibernate Reverse Engineering)<hibernate-mapping package="com.zlz.bean"><class name="admin" table="admin"><id name="id" type="ng.Integer"><generator class="native" /></id><property name="admin" /><property name="pwd"></property></class></hibernate-mapping>d)整合struts,如果希望使用myeclipse的struts设计工具,则需要通过myeclipse导入struts,然后再升级struts包,删除myeclipse加入自己的开发包e)测试是否可用ii.不使用逆向工程,对象模型->关系模型六、整合strutsa)加入struts开发包a)创建sturts-config.xml文件/WEB-INF目录下b)在web.xml下配置<!-- Struts2框架配置 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</fil ter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- Spring框架配置 --><context-param><param-name>contextConfigLocation</param-name><param-value>applicationContext_*.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderList ener</listener-class></listener>七、网络页面抓取String url = "/results?q=" + pcode + "&type=63&page=1"; //指定抓取数据的路径try {Document doc = Jsoup.connect(url).timeout(50000).get(); //抓取Elements pname = doc.select("div div ul li.sm-c-r-color a.srl-detail-ti[href]");// 专利名称(从某个结构下抓取的数据,抓取之前要先分析页面结构)Elements powner = doc.select("div div ul li.sm-c-r-color span a[href]");// 申请人Elements pdate = doc.select("div div ul li a[href]:matchesOwn(^[0-9]{3,4}-[0-9]{1,2}-[0-9]{1,2}$)");// 申请日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //格式化日期Date date = null;try {date = sdf.parse(pdate.text());} catch (ParseException e1) {e1.printStackTrace();}Patent patent = new Patent(); //将抓取到的数据加入到数据库里patent.setPcode(pcode);patent.setPname(pname.text());patent.setPowner(powner.text());patent.setPdate(date);patent.setPabstract(pabstract.text());return patent;} catch (IOException e) {System.out.println("请求超时");e.printStackTrace();return null;}八、excel表的上传与读取public List<String> getByExcel(String path) {ExcelUploadUtil excel = new ExcelUploadUtil();List<String> pcodes = excel.readString(path);// 返回excel表中的专利号listreturn pcodes;}九、导出为excel表。
1.SSH简单集成开发
配置:1.applicationContext.xml2.struts-action.xml3.web.xmlSSH走向:JSP------→Action-------→BP--------→DAL------→DB先写一个JSP页面,并页面上form中发出请求:<s:form action="ZJSSC/logon.action" method="post"><s:textfield name="name" label="姓名"/><s:textfield name="password" label="密码"/><s:submit /></s:form>在struts-action.xml配置:<package name="aaa" namespace="/ZJSSC"extends="struts-default"> <action name="logon" class="LogonAction" method="login"><result name="success">/welcome.jsp</result></action></package>这里比较奇怪,为什么class中使用LoginAction这样的别名,而不是类和类路径呢?这里就要开始牵涉到spring 的配置,本案例中使用了struts-spring 的plugin只要在applicationContext.xml中配置好,就可以做到无缝集成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SSH集成开发宝典步骤
SSH集成开发步骤v1.0
-----Chris 2008-11-5
目录1,前言
2,软硬件
3,步骤一:建立web project
4,步骤二:添加struts支持
5,步骤三:添加spring支持
6,步骤四:添加hibernate支持
7,步骤五:添加dbcp数据库支持jar包
8,步骤六:实现DAO的依赖注入
9,步骤七:实现service的依赖注入
10,步骤八:struts&spring集成
11,步骤九:运行
12,附录
前言
使用当前流行框架Struts 1.2&Spring 2.0&Hibernate 3.1集成开发web 项目。
从中体味struts的MVC模式、Spring的依赖注入和hibernate的持久性的无缝集成。
实现查询oracle数据库中雇员表的详细信息。
同时解析hibernate 延迟查询导致数据不能显示的原因。
$ 软硬件环境
Tomcat 6.0 & My eclipse 6.0.1;
步骤一:建立web project
图一,打开MyEclipse,File->newàProject…
图二,第3步选择web Project
图三,输入项目名,点Finish完成。
步骤二:添加struts支持
图四,project CapabilitiesàAdd Struts Capabilities…
图五
步骤三:添加Spring支持
图六
图七,第14步勾上Spring 2.0 Web Libraries来支持web项目,如果使用AOP 技术则勾上spring 2.0 AOP Libraries.
图八,点击Finish按钮,完成Spring支持的添加。
执行步骤四之前,请先按照附录来设置好数据库驱动。
步骤四:添加Hibernate支持
图九
图十,第19步选择spring 持久核心库
图十一,选中Spring configuration file,由Spring的上下文配置文件来管理Hibernate。
图十二,第23步选择已经在前面配置好的Spring上下文;
第24步自定义一个SessionFactory对象名;
图十三,第26步自定义一个DataSource对象名
第27步选中已设置好的DB Driver(见附录)。
图十四,第29步取消HibernateSessionFactory.由Spring来管理sessionFactory.
步骤五,添加dbcp数据库支持jar包
图十五,添加完三个框架支持后,在Spring的上下文配置文件applicationContext.xml中有一个class ‘mons.dbcp.BasicDataSource’not found错误。
图十六,
图十七,第31步复制三个jar包
图十八,第32步将三个jar包粘贴在/WEB-INF/lib中
图十九
图二十,
步骤六:实现DAO的注入
在步骤四添加Hibernate支持时在Spring上下文配置文件applicationContext.xml中,配置了数据源和sessionFactory.
图二十一
图二十二,
图二十三
图二十四
图二十五
图二十七
图二十八
此时applicationContext.xml中以有四个bean。
分别是datasource、sessionFactory、DeptDAO、EmpDAO。
图二十九
图三十
图三十一
步骤七:实现service的注入
图三十二
图三十三,新建一个EmpService类
图三十四
图三十五
图三十六
步骤八:整合struts&Spring
图三十七
图三十八
图三十九
图四十
图四十一
图四十二
图四十三
图四十四,将struts配置文件中的action类别配置为“org.springframework.web.struts.DelegatingActionProxy”.这样将所有的action都委托到spring中来管理。
图四十五,第75步手动配置将empService注入到EmpAction中。
其中没有id,需配置name 为提交的path.
图四十六,为了方便注入,所以建立empService的setter方法。
图四十七,第77步在struts的配置文件struts-config.xml中已插件的方式集成。
注意:plug-in插件必须写在配置文件的最后一项。
图四十八
图四十九
图五十,修改result.jsp,利用struts标签logic显示list.
图五十一,修改index.jsp,直接跳转到servlet.
步骤九:运行
图五十二
图五十三,由于oracle占用了8080端口,所以将tomcat的端口改为9090
图五十四,部署项目,并运行。
图五十五,运行时提示nullPointerException异常。
图五十六,第85步设置lazy=”false”,不使用延迟加载功能。
这样在数据库操作时就读取数据到内存中。
图五十七
步骤十:使用OpenSessionInViewFilter过滤器来控制session的开关。
图五十八
运行时出现以下错误:
图五十九
于是在web.xml中添加环境监听器
图六十
图六十一,还是出现同样的错误。
过滤器没有起作用。
附录:
一,配置oracle驱动
图1
先打开服务,将里面的oracle数据库和监听器启动。
然后打开命令窗口,进入sqlPlus,用scott/tiger登陆。
在myEclipse里面打开DB Browser窗口,右键菜单new …一个驱动。
按上图输入各种配置,其中ORACLEDB要替换为你的数据库名。
选择save password,然后选next.
SSH 集成开发宝典步骤
<41> Author:Chris
Email:wucheng269@ Date:2008-11-5
选择使用的数据库。
然后点finish 的就建立好了驱动。