ssh整合步骤 只是大体介绍一下
2013-12-30 20:34
295 查看
创建web项目
1,先搞定spring开发包
2,引入spring开发包
3,编写applicationContext.xml文件,先放在src目录下
4,测试spring是否ok
5,加入hibernate开发包
6,因为我们是ssh,所以我们hibernate的核心,就被spring接管了hibernate.cfg.xml文件对象映射文件,SessionFactory在spring文件中配置即可。
7,配置数据源
<!--配置数据源-->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close()">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=HiberateProgram"/>
<property name="username"
value="sa"/>
<property name="password"
value="258005"/>
<!--连接池启动时的初始值
-->
<property name="initialSize"
value="3"/>
<!--连接池的最大值 -->
<property name="maxActive"
value="500"/>
<!--最大空闲值,当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,,一直减少到maxidel为止
-->
<property name="maxIdle" value="2"/>
<!--最小空闲值,当空闲的连接数少于阈值时,连接池就会预申请一些连接,以免洪峰是来不及申请
-->
<property name="minIdle" value="1"/>
</bean>
8,配置SessionFactory对象,后边还有优化
<!--配置会话工厂
-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!--设置数据源 -->
<property name="dataSource"
ref="dataSource"/>规定好的
<!--接管了hibernate对象映射文件
-->
<property
name="mappingResources">
<list>
<!--对象关系映射文件存放在这里
-->
<value>com/hanqing/domain/Employee.hbm.xml</value>
</list>
</property>
<property
name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.hbm 2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=false
</value>
</property>
</bean>
9,编写domain对象(Employee)和我们的映射文件(Employee.hbm.xml)
public class Employee {
private Integer id;
private String name;
private String email;
private java.util.Date hiredate;
private float salary;
set/get方法。。。。。。。。。。
}
<?xml version="1.0"
encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="com.hanqing.domain">
<class
name="Employee">name表示的是类名
<id name="id"
type="java.lang.Integer">
<!--会根据你底层的数据库,自动的帮你选择identity,hilo,sqeuence其中的一种数据库适配器中的定义
-->
<generator
class="native"></generator>
</id>
<property name="name"
type="java.lang.String">
<column name="name" length="64"/>
</property>
<property name="email"
type="java.lang.String">
<column name="email"/>
</property>
<property name="hiredate"
type="java.util.Date">
<column name="hiredate"/>
</property>
<property name="salary"
type="java.lang.Float">
<column name="salary"/>
</property>
</class>
</hibernate-mapping>
10,测试spring和hibernate是否可以结合使用
11,考虑分层开发
我们编写一个EmployeeServiceInter接口,里边实现各种方法
然后我们写一个EmployeeService实现该接口,并在我们的EmployeeService这个类中定义一个SessionFactory对象
之后,我们在我们的applicationContext.xml当中配置一个bean,含有SessionFactory对象,然后我们在EmployeeService当中就可以自动的进行操作了
12,不合理的地方
我们对雇员的操作每次都有事务,能不能把我们的事务单独的拿出来呢。
13,使用事务管理器来统一管理
配置我们的事务管理器,统一管理SessionFactory的事务
首先配置我们的事务管理器,并启用它
<!--配置我们的事务管理器,name是规定好的,统一管理sessionFactory的事务
,我们把SessionFactory交给一下的部分来处理 -->
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"
ref="sessionFactory"></property>
</bean>
<!--启用事务注解,如何让事务管理器来管理我们的事务-->
<tx:annotation-driven
transaction-manager="txManager"/>
还需要在我们事务管理的类或者方法前边加上注解
此时,我们在方法当中就可以这样使用了
14,整合Struts
1,引入开发包
2,创建struts.xml一般放在我们的src目录下
该文件的标头部分如下
<?xml version="1.0"
encoding="utf-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache
Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
3,配置我们的web.xml文件。
<?xml version="1.0"
encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
15, 在web.xml当中配置,让我们在启动tomcat的时候实例化spring容器
<!--指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供给的classpath:前缀指定从类路径下寻找
-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--对spring容器进行实例化
-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
配置完这句话之后,启动tomcat之后,就会将spring当中的对象加入内存当中
实例化。在我们还没有调用的时候,就已经有了。
这样我们直接取出来就行了,而不用再调用
以前没有配置之前的获取方式
ApplicationContext ac=new
ClassPathXmlApplicationContext("applicationContext.xml");
EmployeeServiceInter
esi=(EmployeeServiceInter)ac.getBean("employeeServiceImp");
现在配置完之后的获取方式(可以直接获取spring容器)
下一步,让spring接管我们的struts
Cannot locate the chosen ObjectFactory implementation: spring -
[unknown location]
这是因为没有加入struts2-spring-plugin-2.1.6.jar包
1,在struts.xml文件当中,添加如下的代码配置
class指向的是spring容器当中的一个Bean,id
只要我们导入了struts2-spring-plugin-2.1.6.jar就自动的到这里边去找
scope="prototype"request也行表示请求一次实例化一次
这样保证了线程安全
singlton
request
session
gobal session
通过这种方式,我们在loginAction当中的属性就可以直接通过set方法来获取了。
解决Struts中文乱码的问题
1,自己配置过滤器
首先建一个com.hanqing.web.filter的包
新建一个servlet
import javax.servlet.Filter;
在我们的web.xml当中添加如下配置
<!--配置中文乱码的过滤器
-->
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.hanqing.web.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2,使用spring提供的包来完成过滤器的操作啊
相关文章推荐
- SSH 整合- 6 - service_serviceImp…
- SSH 整合- 5 - service_serviceImp…
- SSH 整合- 4 - add service_servic…
- SSH 整合- 3 - add - hibernate
- SSH整合-&nbsp;2-&nbsp;add&nbsp;service&nbsp;layout
- SSH整合- 2- add service layout
- SSH&nbsp;整合-&nbsp;3&nbsp;-&nbsp;add&nbsp;-&nbsp;hibernate
- SSH&nbsp;整合-&nbsp;4&nbsp;-&nbsp;add&nbsp;service_servic…
- SSH&nbsp;整合-&nbsp;5&nbsp;-&nbsp;service_serviceImp…
- SSH&nbsp;整合-&nbsp;6&nbsp;-&nbsp;service_serviceImp…
- SSH&nbsp;整合-&nbsp;6&nbsp;-&nbsp;service_serviceImp…
- SSH 整合- 6 - service_serviceImp…
- eclipse svn 提交步骤
- ssh开发web应用中各个框架的作用以及整合配置步骤
- SSH大概整合步骤
- ssh整合开发步骤
- Google&nbsp;Spanner和F1介绍
- tomcat 与apache 整合
- ssh整合步骤
- Android.mk 介绍