﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-jfy3d(剑事)BLOG-随笔分类-spring</title><link>http://www.blogjava.net/jfy3d/category/1305.html</link><description>&lt;!--&lt;a href=http://www.myjavaserver.com/~jfy3d/  target=_blank&gt;&lt;img src='http://www.blogjava.net/images/blogjava_net/jfy3d/1610/t_myphoto.jpg' border='0' width='55' height='68'&gt;&lt;/a&gt;--&gt;
&lt;!-- Start FastOnlineUsers.com --&gt;
&lt;a href="http://www.fastonlineusers.com"&gt;&lt;script type="text/javascript" src="http://fastonlineusers.com/on2.php?d=jfy3d.blogjava.net"&gt;&lt;/script&gt; online&lt;/a&gt;
&lt;!-- End FastOnlineUsers.com --&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 11:03:05 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 11:03:05 GMT</pubDate><ttl>60</ttl><item><title>Spring + hibernate + webwork + freemarker 整合配置</title><link>http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sun, 06 Nov 2005 15:48:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/18507.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/18507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/18507.html</trackback:ping><description><![CDATA[<DIV class=postText>
<P>学习的时候看了网上的一些配置教程，没有达到想要的结果<BR>查了好多资料才弄出来，随后后自己整理出一个配置方法<BR><BR>web.xml&nbsp; <BR>// 这里不需要配置字符过滤，网上有的例子加了，实际上<BR>webwork.properties里设置如下就可以了页面也是GBK<BR>webwork.locale=zh_CN<BR>webwork.i18n.encoding=GBK<BR>－－－－－－－－－－－－－－－－－－－－－－－－－－－<BR>&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "<A href="http://java.sun.com/dtd/web-app_2_3.dtd"><FONT color=#000080>http://java.sun.com/dtd/web-app_2_3.dtd</FONT></A>"&gt;<BR>&lt;web-app&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;context-param&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;/WEB-INF/classes/applicationContext.xml&lt;/param-value&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/context-param&gt;<BR><BR>&nbsp;&lt;listener&gt;<BR>&nbsp;&nbsp;&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<BR>&nbsp;&lt;/listener&gt;</P>
<P>&nbsp;&lt;listener&gt;<BR>&nbsp;&nbsp;&lt;listener-class&gt;com.atlassian.xwork.ext.ResolverSetupServletContextListener&lt;/listener-class&gt;<BR>&nbsp;&lt;/listener&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;!--<BR>&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;context&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;org.springframework.web.context.ContextLoaderServlet&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; --&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;webwork&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;com.opensymphony.webwork.dispatcher.ServletDispatcher&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;3&lt;/load-on-startup&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;</P>
<P>&nbsp;&lt;servlet&gt;<BR>&nbsp;&nbsp;&lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&lt;servlet-class&gt;com.opensymphony.webwork.views.freemarker.FreemarkerServlet&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&lt;load-on-startup&gt;10&lt;/load-on-startup&gt;<BR>&nbsp;&lt;/servlet&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;servlet-mapping&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;webwork&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;*.action&lt;/url-pattern&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/servlet-mapping&gt;</P>
<P>&nbsp;&lt;servlet-mapping&gt;<BR>&nbsp;&nbsp;&lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&lt;url-pattern&gt;*.ftl&lt;/url-pattern&gt;<BR>&nbsp;&lt;/servlet-mapping&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;welcome-file-list&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/welcome-file-list&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;taglib&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;taglib-uri&gt;webwork&lt;/taglib-uri&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;taglib-location&gt;/WEB-INF/webwork.tld&lt;/taglib-location&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/taglib&gt;</P>
<P>&lt;/web-app&gt;<BR><BR>－－－－－－－－－－－－－－－－－－－－－－－－－－－<BR><BR>xwork.xml<BR><BR>==================---------------------------------------------<BR>&lt;?xml version="1.0"?&gt;<BR>&lt;!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "<A href="http://www.opensymphony.com/xwork/xwork-1.0.dtd"><FONT color=#000080>http://www.opensymphony.com/xwork/xwork-1.0.dtd</FONT></A>"&gt;</P>
<P>&lt;xwork&gt;</P>
<P>&nbsp;&nbsp;&lt;include file="webwork-default.xml"/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;package name="users" extends="webwork-default"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver"&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptors&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor name="reference-resolver" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-stack name="myDefaultWebStack"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="defaultStack"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="reference-resolver"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="model-driven"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="params"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/interceptor-stack&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/interceptors&gt;<BR><BR>&lt;default-interceptor-ref name="myDefaultWebStack"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action name="blogUser" class="com.jsblog.action.BlogUserAction"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;external-ref name="baseDao"&gt;baseDaoTarget&lt;/external-ref&gt;&nbsp;&nbsp;&nbsp;&nbsp; //这里是把applicationContext里配置的DAO 注入action里 action里要有baseDao属性<BR>&nbsp;&nbsp;&nbsp;&lt;result name="success"&gt;/add.htm&lt;/result&gt;<BR>&nbsp;&nbsp;&lt;/action&gt;<BR>-------------------------------------------------------------------------<BR><BR>applicationContext.xml<BR><BR>---------------------------------------------------------------------------<BR>&lt;?xml version="1.0"?&gt;<BR>&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<A href="http://www.springframework.org/dtd/spring-beans.dtd"><FONT color=#000080>http://www.springframework.org/dtd/spring-beans.dtd</FONT></A>"&gt;<BR>&lt;beans default-autowire="no" default-dependency-check="none" default-lazy-init="false"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="driverClassName"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;com.microsoft.jdbc.sqlserver.SQLServerDriver&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="url"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsblog;SelectMethod=cursor&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="username"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;sa&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="password"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;jfy&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;bean id="sessionFactory"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="org.springframework.orm.hibernate.LocalSessionFactoryBean"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="dataSource"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="dataSource"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="mappingResources"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;list&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;com/jsblog/BlogUserForm.hbm.xml&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/list&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="hibernateProperties"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;props&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prop key="hibernate.dialect"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; net.sf.hibernate.dialect.SQLServerDialect<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/props&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;bean id="transactionManager"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="org.springframework.orm.hibernate.HibernateTransactionManager"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="sessionFactory"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="sessionFactory"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P><BR>&nbsp;&nbsp;&nbsp; &lt;bean id="baseDaoTarget" class="com.jsblog.dao.BlogUserDao"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="sessionFactory"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="sessionFactory"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P><BR>&lt;/beans&gt;<BR>---------------------------------------------------------------------------<BR><BR>BlogUserDao.java<BR>---------------------------------------------------------------------------<BR>package com.jsblog.dao;</P>
<P>import org.springframework.orm.hibernate.support.HibernateDaoSupport;<BR>import org.springframework.orm.hibernate.HibernateCallback;<BR>import org.springframework.orm.hibernate.SessionFactoryUtils;<BR>import com.jsblog.BlogUserForm;</P>
<P>import java.io.Serializable;<BR>import java.util.List;</P>
<P>import net.sf.hibernate.HibernateException;<BR>import net.sf.hibernate.Session;</P>
<P>public class BlogUserDao extends HibernateDaoSupport implements BaseDao {</P>
<P>&nbsp;&nbsp;&nbsp; public void insert(BlogUserForm bloguser) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getHibernateTemplate().save(bloguser);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>}</P></DIV><img src ="http://www.blogjava.net/jfy3d/aggbug/18507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-11-06 23:48 <a href="http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>