Spring + hibernate + webwork + freemarker 整合配置
web.xml?
// 這里不需要配置字符過濾,網上有的例子加了,實際上
webwork.properties里設置如下就可以了頁面也是GBK
webwork.locale=zh_CN
webwork.i18n.encoding=GBK
---------------------------
???????? "http://java.sun.com/dtd/web-app_2_3.dtd" >
< web-app >
?? < context-param >
????? < param-name > contextConfigLocation </ param-name >
???? < param-value > /WEB-INF/classes/applicationContext.xml </ param-value >
? </ context-param >
? < listener >
?? < listener-class >
???? org.springframework.web.context.ContextLoaderListener
?? </listener-class>
?</listener>
?<listener>
??<listener-class>
???? com.atlassian.xwork.ext.ResolverSetupServletContextListener
?? </listener-class>
?</listener>
????<!--
????<servlet>
????<servlet-name>context</servlet-name>
?????????????<servlet-class>
??????????????? org.springframework.web.context.ContextLoaderServlet
???????????? </servlet-class>
?????????????<load-on-startup>1</load-on-startup>
?????</servlet>
?????-->
????<servlet>
????????<servlet-name>webwork</servlet-name>
????????<servlet-class>
??????????? com.opensymphony.webwork.dispatcher.ServletDispatcher
???????? </servlet-class>
????????<load-on-startup>3</load-on-startup>
????</servlet>
?<servlet>
??<servlet-name>freemarker</servlet-name>
??<servlet-class>
????? com.opensymphony.webwork.views.freemarker.FreemarkerServlet
?? </servlet-class>
??<load-on-startup>10</load-on-startup>
?</servlet>
????<servlet-mapping>
????????<servlet-name>webwork</servlet-name>
????????<url-pattern>*.action</url-pattern>
????</servlet-mapping>
?<servlet-mapping>
??<servlet-name>freemarker</servlet-name>
??<url-pattern>*.ftl</url-pattern>
?</servlet-mapping>
????<welcome-file-list>
????????<welcome-file>index.html</welcome-file>
????</welcome-file-list>
????<taglib>
????????<taglib-uri>webwork</taglib-uri>
????????<taglib-location>/WEB-INF/webwork.tld</taglib-location>
????</taglib>
</web-app>
---------------------------
xwork.xml
==================---------------------------------------------
<! DOCTYPE?xwork?PUBLIC?"-//OpenSymphony?Group//XWork?1.0//EN"
????????? "http://www.opensymphony.com/xwork/xwork-1.0.dtd" >
< xwork >
?? < include? file ="webwork-default.xml" />
???? < package? name ="users" ?extends ="webwork-default"
????????externalReferenceResolver =
?????????????????????? "com.atlassian.xwork.ext.SpringServletContextReferenceResolver" >
???????? < interceptors >
???????????? < interceptor? name ="reference-resolver"
?????????????? class ="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor" />
???????????? < interceptor-stack? name ="myDefaultWebStack" >
???????????????? < interceptor-ref? name ="defaultStack" />
???????????????? < interceptor-ref? name ="reference-resolver" />
???????????????? < interceptor-ref? name ="model-driven" />
??????? < interceptor-ref? name ="params" />
???????????? </ interceptor-stack >
???????? </ interceptors >
< default-interceptor-ref? name ="myDefaultWebStack" />
???????? < action? name ="blogUser" ?class ="com.jsblog.action.BlogUserAction" >
??? < external-ref? name ="baseDao" > baseDaoTarget </ external-ref > ????
??? //這里是把applicationContext里配置的DAO?注入action里?action里要有baseDao屬性
??? < result? name ="success" > /add.htm </ result >
?? </ action >
-------------------------------------------------------------------------
applicationContext.xml
---------------------------------------------------------------------------
<! DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"
?????????? "http://www.springframework.org/dtd/spring-beans.dtd" >
< beans? default-autowire ="no" ?default-dependency-check ="none"
? ? ? ?? default-lazy-init ="false" >
???? < bean? id ="dataSource" ?class ="org.apache.commons.dbcp.BasicDataSource"?
???????? destroy-method="close">
????????<property?name="driverClassName">
????????????<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
????????</property>
????????<property?name="url">
????????????<value>
????????????? jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsblog;SelectMethod=cursor
??????????? </value>
????????</property>
????????<property?name="username">
????????????<value>sa</value>
????????</property>
????????<property?name="password">
????????????<value>jfy</value>
????????</property>
????</bean>
????<bean?id="sessionFactory"
??????????class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
????????<property?name="dataSource">
????????????<ref?local="dataSource"/>
????????</property>
????????<property?name="mappingResources">
????????????<list>
????????????????<value>com/jsblog/BlogUserForm.hbm.xml</value>
????????????</list>
????????</property>
????????<property?name="hibernateProperties">
????????????<props>
????????????????<prop?key="hibernate.dialect">
????????????????????net.sf.hibernate.dialect.SQLServerDialect
????????????????</prop>
????????????????<prop?key="hibernate.show_sql">true</prop>
????????????</props>
????????</property>
????</bean>
????<bean?id="transactionManager"
??????????class="org.springframework.orm.hibernate.HibernateTransactionManager">
????????<property?name="sessionFactory">
????????????<ref?local="sessionFactory"/>
????????</property>
????</bean>
????<bean?id="baseDaoTarget"?class="com.jsblog.dao.BlogUserDao">
????????<property?name="sessionFactory">
????????????<ref?local="sessionFactory"/>
????????</property>
????</bean>
</beans>
---------------------------------------------------------------------------
BlogUserDao.java
---------------------------------------------------------------------------
import ?org.springframework.orm.hibernate.support.HibernateDaoSupport;
import ?org.springframework.orm.hibernate.HibernateCallback;
import ?org.springframework.orm.hibernate.SessionFactoryUtils;
import ?com.jsblog.BlogUserForm;
import ?java.io.Serializable;
import ?java.util.List;
import ?net.sf.hibernate.HibernateException;
import ?net.sf.hibernate.Session;
public ? class ?BlogUserDao? extends ?HibernateDaoSupport? implements ?BaseDao?{
???? public ? void ?insert(BlogUserForm?bloguser)?{
????????getHibernateTemplate().save(bloguser);
????}
}
posted on 2006-04-13 00:31 Vincent.Chen 閱讀(629) 評論(0) 編輯 收藏 所屬分類: Spring 、WebWork&Struts 、Hibernate