- 浏览: 279037 次
- 来自: 北京
文章分类
最新评论
-
weishihchen:
安装可参考这篇唷redhat上php modelhttp:// ...
LInux下如何安装ffmpeg -
q821424508:
按照楼主到方法,安装了一下,基本上可以,不过有些东西有问题,安 ...
LInux下如何安装ffmpeg -
mugesoft:
lym6520 写道您好,请问下,为什么我下载的ffmpeg里 ...
LInux下如何安装ffmpeg -
mingxiao2010:
正在看这个东西,thanks!
关于linux下用lvs实现负载均衡的配置过程 -
huang_yong:
直接修改Velocity的jar包里的属性文件即可,方法如下: ...
velocity造成log增加的解决办法!(log4j:ERROR Attempted to append to cl)
调试了半天,终于把系统配置了起来,具体环境如下,webwork+spring+hibernate
先看web.xml
xml 代码
- <!---->xml version="1.0" encoding="ISO-8859-1"?>
- <!---->>
- <web-app>
- <display-name>WebWork 2.0 Example Appdisplay-name>
- <context-param>
- <param-name>contextConfigLocationparam-name>
- <param-value> classpath*:META-INF/applicationContext-*.xml
- **/applicationContext-*.xml
- param-value>
- context-param>
- <context-param>
- <param-name>log4jConfigLocationparam-name>
- <param-value>/WEB-INF/classes/log4j.propertiesparam-value>
- context-param>
- <filter>
- <filter-name>Encodingfilter-name>
- <filter-class>com.koook.util.SetCharacterEncodingFilterfilter-class>
- <init-param>
- <param-name>encodingparam-name>
- <param-value>GBKparam-value>
- init-param>
- filter>
- <filter>
- <filter-name>webworkfilter-name>
- <filter-class>
- com.opensymphony.webwork.dispatcher.FilterDispatcher
- filter-class>
- filter>
- <filter-mapping>
- <filter-name>Encodingfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
- <filter-mapping>
- <filter-name>webworkfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
- <listener>
- <listener-class>org.springframework.web.util.Log4jConfigListenerlistener-class>
- listener>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
- listener>
- <servlet>
- <servlet-name>JspSupportServletservlet-name>
- <servlet-class>com.opensymphony.webwork.views.JspSupportServletservlet-class>
- <load-on-startup>1load-on-startup>
- servlet>
- <welcome-file-list>
- <welcome-file>/WEB-INF/jsp/index.jspwelcome-file>
- welcome-file-list>
- <taglib>
- <taglib-uri>webworktaglib-uri>
- <taglib-location>/WEB-INF/webwork.tldtaglib-location>
- taglib>
- web-app>
这里没什么太多可说的,通过ContextLoaderListener来装载spring的bean,当然在这里我没有用spring缺省的applicationContext.xml,而是通过<context-param></context-param>来定义不同包里面的bean文件
applicationContext-hibernate.xml
xml 代码
- <!---->xml version="1.0" encoding="UTF-8"?>
- <!---->
- "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <!---->
- <bean id="accountSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <!---->
- <property name="mappingResources">
- <list>
- <value>com/koook/account/model/tbl/UKernal.hbm.xmlvalue>
- <value>com/koook/account/model/tbl/UBase.hbm.xmlvalue>
- list>
- property>
- <property name="hibernateProperties">
- <props>
- <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driverprop>
- <prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/usercenterprop>
- <prop key="hibernate.connection.username">rootprop>
- <prop key="hibernate.connection.password">rootprop>
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLMyISAMDialectprop>
- <prop key="hibernate.connection.provider">org.hibernate.connection.C3P0ConnectionProviderprop>
- <prop key="hibernate.connection.autocommit">trueprop>
- <prop key="hibernate.show_sql">falseprop>
- <prop key="hibernate.connection.useUnicode">trueprop>
- <prop key="hibernate.connection.characterEncoding">UTF-8prop>
- <prop key="hibernate.c3p0.acquire_increment">1prop>
- <prop key="hibernate.c3p0.idle_test_period">100prop>
- <prop key="hibernate.c3p0.max_size">150prop>
- <prop key="hibernate.c3p0.max_statements">0prop>
- <prop key="hibernate.c3p0.min_size">1prop>
- <prop key="hibernate.c3p0.timeout">100prop>
- <prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProviderprop>
- <prop key="hibernate.cache.use_query_cache">trueprop>
- props>
- property>
- bean>
- <bean id="accountTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref bean="accountSessionFactory" />
- property>
- bean>
- <bean id="accountTransactionProxy" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <property name="transactionManager">
- <ref local="accountTransactionManager"/>
- property>
- <property name="transactionAttributes">
- <props>
- <prop key="find*">PROPAGATION_REQUIRED,readOnlyprop>
- <prop key="add*">PROPAGATION_REQUIREDprop>
- <prop key="update*">PROPAGATION_REQUIREDprop>
- <prop key="delete*">PROPAGATION_REQUIREDprop>
- <prop key="*">PROPAGATION_REQUIRED,readOnlyprop>
- props>
- property>
- bean>
- <bean id="userkernalDAO" parent="accountTransactionProxy">
- <property name="target">
- <bean class="com.koook.account.dao.hibernate.UserkernalDAOHibernate">
- <property name="sessionFactory">
- <ref local="accountSessionFactory" />
- property>
- bean>
- property>
- bean>
- beans>
这里面值得注意的是:
- accountTransactionProxy定义这个tranction的时候,用到了lazy-init="true",在调试过程中,如果不加入这个属性,在装载accountTransactionProxy这个bean的时候会出现需要"target"的错误。
- userkernalDAO在定义的时候用到了parent="accountTransactionProxy", 这里主要是为了在配置多个dao或者service用同一个proxy的时候,能尽量少的写配置文件,教程上标准的配置方法是这样的
xml 代码
- <!---->xml version="1.0" encoding="UTF-8"?>
- <!---->
- "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean id="accountTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref bean="accountSessionFactory" />
- property>
- bean>
- <bean id="userkernalDAO" class="com.koook.account.dao.hibernate.UserkernalDAOHibernate">
- <property name="sessionFactory">
- <ref local="accountSessionFactory" />
- property>
- bean>
- <bean id="accountTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <property name="transactionManager">
- <ref local="accountTransactionManager"/>
- property>
- <property name="target">
- <ref local="userkernalDAO" />
- property>
- <property name="transactionAttributes">
- <props>
- <prop key="find*">PROPAGATION_REQUIRED,readOnlyprop>
- <prop key="add*">PROPAGATION_REQUIREDprop>
- <prop key="update*">PROPAGATION_REQUIREDprop>
- <prop key="delete*">PROPAGATION_REQUIREDprop>
- <prop key="*">PROPAGATION_REQUIRED,readOnlyprop>
- props>
- property>
- bean>
- beans>
这样配置一个dao/service就需要一个代理,配置过程将比较繁琐
xwork.xml
xml 代码
- <!---->>
- <xwork>
- <include file="webwork-default.xml"/>
- <package name="default" extends="webwork-default">
- <interceptors>
- <interceptor-stack name="WSStack">
- <interceptor-ref name="params">interceptor-ref>
- <interceptor-ref name="model-driven">interceptor-ref>
- interceptor-stack>
- interceptors>
- <action name="login" class="com.koook.photo.action.LoginAction">
- <external-ref name="userkernalDAO">accountTransactionProxyexternal-ref>
- <result name="success" type="dispatcher">
- <param name="location">/main.jspparam>
- result>
- <result name="loginfail" type="dispatcher">
- <param name="location">/index.jspparam>
- result>
- <interceptor-ref name="WSStack" />
- action>
- package>
- xwork>
xml 代码
- <external-ref name="userkernalDAO">accountTransactionProxyexternal-ref>
这里将login这个action中注入userkernalDAO
LoginAction
java 代码
- package com.koook.photo.action;
- import java.util.List;
- import java.util.Map;
- import com.koook.account.dao.UserkernalDAO;
- import com.koook.account.model.Userkernal;
- import com.koook.photo.action.model.LoginInfo;
- import com.opensymphony.xwork.Action;
- import com.opensymphony.xwork.ActionContext;
- import com.opensymphony.xwork.ModelDriven;
- public class LoginAction implements Action,ModelDriven{
- private static String LOGIN_FAIL="loginfail";
- private LoginInfo loginInfo = new LoginInfo();
- private UserkernalDAO ukDao;
- public String execute() throws Exception {
- ... }
- public Object getModel() {
- return loginInfo;
- }
- public UserkernalDAO getUserkernalDAO() {
- return ukDao;
- }
- public void setUserkernalDAO(UserkernalDAO userkernalDao) {
- &nb
发表评论
-
关于在freemarker中使用radio tag遇到的问题
2007-06-27 17:10 3635freemarker是看到大家的推 ... -
freemarker模板中使用List Map Set的方法
2007-06-21 16:59 6502Beanpublic class GroupModel { ... -
关于Webwork中OpenSessionInView的使用
2007-06-19 11:29 14221、说说为什么使用lazy 当使用Hibernate中的one ... -
关于webwor中注册例子的备忘(freemarker的基本使用)
2007-06-14 16:41 2962以下是以一个注册的例子的实现来备忘关于webwork中view ... -
Webwork生成静态文件的简单方法
2007-06-13 12:02 3447接触模板技术的时间不是很长,原来一直通过io的方法去自 ... -
编辑ApplicationResource的好工具
2007-06-07 13:43 2330今天发出现一个不错的eclipse插件,用来写web程序中的资 ... -
关于Webwork下的文件上传进度条
2007-05-18 10:50 7211Webwork下的文件上传看了很多的文章收获不少,目前比较简单 ... -
关于WebWork使用拦截器进行用户身份校验的问题!
2007-04-12 13:50 2034看了很多人都说Webwork最大的特点是拦截器 Interce ... -
关于webwork中使用dwr的form验证
2007-03-13 13:52 3148webwork中通过dwr来实现页面中的form验证,这种aj ... -
关于FreeMarker中直接使用的对象
2007-03-07 19:01 10036${Request["a"]} ${Req ... -
关于webwork中使用FCKeditor
2007-03-06 16:47 2802两天的时间,终于把webwork+freemarker+FCK ... -
关于webwork的一些配置
2007-01-18 12:13 1284对于url的后缀(.action),可以在webwo ... -
WebWork笔记(1)---webwork初步
2007-01-18 11:23 1713下载webwork的资源,其中包括两个部分:webw ... -
终于开始学习WebWork了
2007-01-18 11:19 1357很长时间了,大家都在说webwork,都在说s ...
相关推荐
以下将从Struts2的基本概念、MVC设计模式、Struts2在MVC中的实现、Struts2配置以及相关环境搭建等方面进行详细介绍。 ### 一、Struts2框架简介 #### 1. Struts2概述 Struts2是一个基于Java的开源Web应用框架,它是...
在实际项目中,WebWork2通常与其他开源框架如Hibernate(持久层)、Spring(依赖注入和事务管理)等配合使用,构建完整的Java Web应用解决方案。 在“study note.txt”这个文件中,可能详细记录了如何配置WebWork2...
- `webwork-2.x.jar`: 最新的WebWork Jar包。 - `webwork-example.war`: 功能演示示例。 - `webwork-migration.jar`: 提供1.x至2.x版本迁移支持。 - `docs`: 文档,包括API文档、Clover文档、单元测试文档等。 ...
根据提供的文件信息,可以看出这份学习笔记主要关注于SSH(Struts、Spring 和 Hibernate)框架的配置与使用。接下来,我们将详细解析这些知识点。 ### 一、Spring 框架依赖 Spring 是一个开源的轻量级Java开发框架...
从给定的文件信息来看,这里涉及到的是WebWork框架的学习笔记与配置,以及如何将WebWork与Spring、Hibernate集成在一起的示例。下面,我们将详细地解析这些知识点: ### WebWork框架简介 WebWork是一个开源的Java ...
2. **容器**:Spring提供了一个容器功能,该容器负责管理对象的生命周期、配置以及依赖注入等任务。通过Spring容器,开发者可以轻松地管理和控制对象的创建方式(如原型或单例模式),并确保对象之间的依赖关系得到...
- **Web模块**:包括Spring MVC,用于构建Web应用程序,与其他Web框架如Struts、WebWork等集成。 - **ORM模块**:整合了多种ORM框架,如Hibernate、JPA、iBatis等,简化了对象与数据库的交互。 4. **应用场景** ...
- 了解 Struts2 如何与 Spring、Hibernate 等其他框架集成。 - 学习如何使用 Struts2 提供的各种标签和插件来简化开发工作。 综上所述,Struts2 是一个功能强大且灵活的 MVC 框架,适用于构建复杂的 Web 应用程序...
2. **Part 2: Create Hello World Application in Spring 3.0 MVC** - 通过创建一个简单的Hello World应用,读者将学会如何配置Spring MVC环境并处理第一个HTTP请求。 3. **Part 3: Handling Forms in Spring 3.0 ...
Struts2拥有丰富的插件系统,可以方便地与Spring、Hibernate等框架集成,如Struts2-Spring-plugin和Struts2-Hibernate-plugin。 **6. 国际化和本地化:** Struts2支持国际化和本地化,通过资源文件(如.properties...
### 牧紫小岩的Spring学习笔记:深入解析Spring框架的核心功能与应用 #### Spring框架概览 Spring框架,作为Java领域中一个重要的轻量级框架,主要关注于解决企业级应用开发中的复杂性问题。它通过提供一系列的...
- 如何利用Struts2的插件与Spring、Hibernate等框架进行集成。 - 实战示例,如创建一个简单的登录注册系统,展示Struts2的完整流程。 以上是对Struts2框架核心特性和相关知识点的简要介绍。通过阅读"struts2笔记...
在WSH MVC架构(Webwork2 + Spring + Hibernate)下,CXF可以无缝集成,提供服务层与持久层之间的交互。Hibernate负责数据库操作,Spring管理依赖和事务,而Webwork2或类似的MVC框架处理视图和控制逻辑。这种架构...
Struts2是Struts的升级版本,它整合了WebWork的优点,提供了更强大的拦截器机制和更灵活的配置方式。马士兵Struts2学习笔记2011.doc可能涵盖了Struts2的基本概念、配置、动作调度、拦截器、结果类型等内容,以及如何...
10. **插件和集成**:Struts2可以与其他库无缝集成,如Hibernate用于持久化,Spring用于依赖注入,Tiles用于布局管理等。理解这些插件的工作原理和使用方法。 在笔记中,你还会看到实际的代码示例和配置示例,这将...
这些"Java常用框架学习笔记.7z"的压缩包包含了五个关键的Java框架的学习资源,它们分别是Struts2、Hibernate、Spring、SpringMVC和MyBatis。这五个框架都是Java开发中的重要工具,对于理解Java后端开发的复杂性和...