ssh总算成功了
Spring充当整合
Hibernate充当数据访问层
Struts充当MVC
web.xml配置文件内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
</web-app>
struts-config.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD
Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-
config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="loginForm" type="com.form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<!-- 这时, type="com.action.LoginHandler"已经不起作用了,你都可
以删掉它-->
<action attribute="loginForm" name="loginForm" path="/login"
scope="request" type="com.action.LoginHandler">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/login.jsp" />
</action>
</action-mappings>
<!-- 同样要注意controller元素的摆放位置
这里,controller元素用于将对Action的管理权从Struts手里抢过来,交给
Spring进行统一管理
-->
<controller>
<set-property property="processorClass"
value="org.springframework.web.struts.DelegatingRequestProcessor" />
</controller>
<message-resources parameter="com.ApplicationResources" />
<!-- 注意插件元素plug-in的摆放位置哦
其中,/WEB-INF/classes/springConfig.xml就是我们spring配置文件的编
译后存放路径 ,放在src文件夹下
-->
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/springConfig.xml" />
</plug-in>
</struts-config>
Spring的配置文件 springConfig.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<!-- 配置UserDao的bean,设置其sessionFactory属性让其依赖mySessionFactory -->
<bean name="userDao" class="com.dao.UserDao">
<property name="sessionFactory" ref="mySessionFactory"></property>
</bean>
<!-- 那么,如何来用Spring集成Struts呢,换句话说,Struts如何调用Spring管理的bean对象呢
这就需要我们,再次地进行Struts配置,为其添加Spring提供的集成插件,从而将原先由Struts框架
管理的Action对象交给Spring来管理
-->
<!-- 开始配置Struts的Action -->
<bean name="/login" class="com.action.LoginHandler">
<property name="myUserDao" ref="userDao"></property>
</bean>
<!-- 至此,我们配置性的工作全部结束! -->
</beans>
UserDAO 继承 HibernateDaoSupport
import org.springframework.orm.hibernate3.support.HibernateDaoSupport
就可以使用getHibernatetTemplet 来操作DB.
super.getHibernateTemplate().find("from User where userName=? and password=?",
new String[]{loginUser.getUserName(),loginUser.getPassword()});
sessionFactory org.springframework.orm.hibernate3.LocalSessionFactoryBean
转帖:http://www.51code.org.cn/tag/ssh
LoginProject工程(附件:http://www.51code.org.cn/src/ssh.rar,空间中也有)