web.xml聽
// 榪欓噷涓嶉渶瑕侀厤緗瓧絎﹁繃婊わ紝緗戜笂鏈夌殑渚嬪瓙鍔犱簡錛屽疄闄呬笂
webwork.properties閲岃緗涓嬪氨鍙互浜嗛〉闈篃鏄疓BK
webwork.locale=zh_CN
webwork.i18n.encoding=GBK
錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?br />
<!
DOCTYPE聽web-app聽PUBLIC聽"-//Sun聽Microsystems,聽Inc.//DTD聽Web聽Application聽2.3//EN"
聽聽聽聽聽聽聽聽 "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>
錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?br />
xwork.xml
==================---------------------------------------------
<?
xml聽version="1.0"
?>
<!
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閲屄燼ction閲岃鏈塨aseDao灞炴?br />聽聽聽
<
result聽
name
="success"
>
/add.htm
</
result
>
聽聽
</
action
>
-------------------------------------------------------------------------
applicationContext.xml
---------------------------------------------------------------------------
<?
xml聽version="1.0"
?>
<!
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
---------------------------------------------------------------------------
package
聽com.jsblog.dao;
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);
聽聽聽聽}
}