s2sh调整<一>
s2sh整合一Struts 2,Spring 2,Hibernate 整合 开发工具Eclipse 6.5/6.6 GA 1.首先创建一个web工程,我们
s2sh整合<一>
Struts 2,Spring 2,Hibernate 整合
开发工具Eclipse 6.5/6.6 GA
1.首先创建一个web工程,我们暂且启明为
finish
2.向工程加入hibernate支持,这里我们使用的是hibernate 3.2
默认就可以,不要忘记将jar包加入到/WebRoot/WEB-INF/lib
接着next
实际上这里的hibernate.cfg.xml不起作用,因为该配置文件的内容由后面的spring配置文件进行管理,我们可以在创建之后将其删除
默认next
我们根本不用hibernate.cfg.xml,所以这里根本不需要进行数据库配置,当然默认也无所谓。
继续next
sessionFactory我们在之后也会直接使用spring为我们提供的,所以这里不需要创建。
finish
3.向工程加入spring支持,这里我们使用的是spring2
这里我们选择的是spring2,
不要忘记选中这5个库包:
Spring 2.0 AOP Libraries
Spring 2.0 Core Libraries
Spring 2.0 Persistence Core Libraries
Spring 2.0 Persistence JDBC Libraries
Spring 2.0 Web Libraries
也不要忘记将jar包加入到/WebRoot/WEB-INF/lib。
next
这里我们不需要Enable AOP 所以不需要选中
不要忘记将配置文件applicationContext.xml指定在/WEB-INF目录下,不然服务器启动时无法加载
next
这里的sessionFactory我们也不需要,之后会手动配置。
finish
4.加入struts2支持,由于MyEclipse并没有加入Struts2的支持,所以我们需要手动导入相关jar包。
这里我们使用的是struts 2.0.11版本
需要的相关jar包如下:
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.jar
xwork-2.0.4.jar
struts2-spring-plugin-2.0.11.jar
4.进行相关文件的配置
首先我们需要在src下加入struts的配置文件struts.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"><!-- 配置struts2的过滤器 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置spring的监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
到目前为止我们的整合工作已经完成。我们可以将该工程打包,以备下次直接使用。
这里由一个问题就是如果采用myeclipse加载hibernate和spring的lib包形式发布项目的时候会出现异常,我们可以手动去掉一个asm-2.2.3jar即可。
5.下面我们做一个简单的应用来验证。
(1)首先我们使用的是mysql,不要忘记将mysql-jdbc的jar包导入到我们的工程中
我们创建
-- Table "person" DDLCREATE TABLE `person` ( `id` int(11) NOT NULL, `name` varchar(20) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(2)首先我们创建test.
package test. <?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"><!-- apache.dbcp连接池的配置 --><bean id="dataSource" destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/ <property name="hibernateProperties"><props><prop key="connection.useUnicode">true</prop><prop key="connection.characterEncoding">utf-8</prop><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop></props></property>
或者将url后面加入编码串,如下
<property name="url" value="jdbc:mysql://localhost:3306/ package test. package test. package test.s2sh.service;import java.util.List;import test.s2sh.bean.Person;public interface PersonService {List<Person> findAll();void save(Person p);void delete(Person p);Person findById(Integer id);void update(Person p);}?