<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>filterConfig</param-name>
<param-value>classpath:struts.xml</param-value> </init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
------------------------集成struts2完成--------------------------------
3.3 集成hibernate:
3.3.1 在application context.xml中添加(同上,classpath是项目的src目录):
<bean id=“sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:/hibernate.cfg.xml</value>
</property>
</bean>
3.3.2 在src目录下新建hibernate.cfg.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.pool_size">5</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mms</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.generate_statistics">true</property>
<property name="hibernate.jdbc.batch_versioned_data">true</property>
<property name="hibernate.max_fetch_depth">5</property>
<property name="hibernate.search.autoregister_listeners">false</property>
<property name="hibernate.service.allow_crawling">false</property>
<property name="hibernate.show_sql">true</property>
<property name="connection.autocommit">true </property>
<!-- List of XML mapping files -->
<mapping resource="User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
------------------------集成hibernate完成--------------------------------
step 4:开始你的第一个ssh例子。
第一需要准备 user表及其对应的user实体类;
第二需要准备dao及daoimpl,service及serviceimpl
第三需要准备action类。
以上准备好久可以开始配置了:
4.1 在User.hbm.xml中将user类对应到user表格中,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.hcz.mms.web.entity.User" table="USER">
<meta attribute="class-description">
This class contains the user detail.
</meta>
<id name="id" type="int" column="id">
<generator class="native"/>
</id>
<property name="firstName" column="first_name" type="string"/>
<property name="lastName" column="last_name" type="string"/>
<property name="email" column="email" type="string"/>
</class>
</hibernate-mapping>
4.2 在applicationcontext.xml中将dao,service 以及action集成起来,代码如下:
<!-- Dao & Service beans -->
<bean id="UserDAO" class="com.hcz.mms.web.dao.impl.UserDaoImpl"
scope="singleton">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="UserService" class="com.hcz.mms.web.service.impl.UserServiceImpl"
scope="singleton">
<property name="userDao">
<ref bean="UserDAO" />
</property>
</bean>
<!-- Action —>
<bean id="addUserAction" scope=“prototype" class="com.hcz.mms.web.action.user.AddUserAction”>
<property name="userService" ref="UserService"></property> </bean>
这里关系说明:
sessionFactory是dao层的属性值(daoimpl通过继承HibernateDaoSupport来实现)
dao是service的属性值(public UserDAO userDao;需要set/get方法)
service是action的属性值(public UserService userService;需要set/get方法)
通过这几个关系,这样action类就直接可以操作数据库了。
4.3 action与视图之间的映射:
在struts.xml 中添加一下代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 常量配置,用到constant标签 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 包配置:一般都要继承struts-default,因为该包有默认的拦截器等东西 -->
<!--namespace:命名空间,考虑到可能出现相同的action,如果有命名空间就可以解决 -->
<package name="user" namespace="/user" extends="struts-default">
<!-- 定义一个action -->
<action name="test" class="testAction" method="execute">
<!-- 返回一个String常量,转发至对应的JSP页面 -->
<result name="success">test.jsp</result>
</action>
<action name="addUser" class="addUserAction" method="execute">
<result name="success">success.jsp</result>
</action>
</package> </struts>
这样,就把action与jsp视图对应起来。这就完成了整个项目配置。
------------------------集成spring,struts2,hibernate完成--------------------------------