第一步:关于web.xml
1.用于struts2的配置,
<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>
2.用于spring的配置,
<context-param>
<param-name>contextConfigLocation</param-name> // 这个不能随意取名字,必须是这个
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<span style="white-space:pre"> </span>//启动Web容器时,自动装配ApplicationContext的配置信息
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
第二步:关于applicationContext.xml
1.用于hibernate连接数据库的配置,
<bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource"> //这里的class是hibernate的
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/bookshop"></property>
<property name="username" value="root"></property>
<property name="password" value="mysql"></property>
</bean>
<span style="white-space:pre"> </span><bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="datasource"></property> //利用上边定义好的bean
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
当DAO层用到sessionFactory时,
<pre name="code" class="java">public class UserDAOImp implements UserDAO {
SessionFactory sessionFactory; // 没有使用继承接口的方式
public List search(Users user) {
Session session = sessionFactory.openSession();
Transaction ts = null;
/*
* Users user1 = new Users(); user1.setPassword("123");
* user1.setUsername("andrew");
*/
ts = session.beginTransaction();
String hql = "from Users where username=? and password=?";
Query query = session.createQuery(hql);
query.setParameter(0, user.getUsername(),Hibernate.STRING);
query.setParameter(1, user.getPassword(),Hibernate.STRING);
List<Users> list = query.list();
ts.commit();
return list;
}
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
}
<bean id="userDAO" class="com.andrew.dao.UserDAOImp">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
第三步:关于struts.xml
<package name="default" extends="struts-default">
<action name="login" class="userAction" method="login"> //这里的class的value是使用spring配置文件里的bean设置的id
<result name="success">main.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>