`
jiangcccc
  • 浏览: 8760 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如果解决dwr整合struts中,spring的service注射问题?

阅读更多
最近项目扩展,想采用dwr,遇到个问题!还请各位帮忙!

因为原来的系统是stuts+spring,而且在基础action中封装了一些基础业务方法.
所以新增加的模块也想通过dwr+stuts+spring来做,不想让dwr直接和spring的service交互

所以准备该模块的主要流程还是通过action来做,然后将一些dwr需要交互的业务方法抽离出来放在action中
但是这样就存在一个问题,那就是dwr和action中的这些业务方法交互时,dwr是新建一个action类
那么struts初始化时,spring注入的service就为空!这样供dwr调用的方法中就没法操作service!

想请教下各位大峡又什么好的解决方法没?
以下是action的部分代码:
public class ExpertVoteAction extends BaseAction {
public void setServlet(ActionServlet actionServlet) {
	super.setServlet(actionServlet);
	ServletContext servletContext = actionServlet.getServletContext();
	WebApplicationContext wac =
			WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
	proService = (ProfInfoService)wac.getBean("profInfoService");
	}
public ActionForward submit(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		return mapping.findForward("index");
	}
public List getAllPeople()
    {
    	
    	return proService.QueryData("2005");
    }


这其中getAllPeople就是供dwr直接调用的方法

分享到:
评论
14 楼 zhongli 2008-06-05  
很同意楼主的想法,dwr是web层的东西,不应该直接调用service,应该走统一的入口action。偶用的是ww,但都是一样的道理,偶是做了个专门的调用action的扩展,在其模仿http请求,取得返回bean给DWR。这样有一个好处就是不用配置很多DRW的东东,每个action既可以用url调用,有可以被ajax调用。
13 楼 shenchengli 2008-06-05  
dwr+spring 时 页面加载速度非常的慢.是什么原因呢??
12 楼 allenny 2008-05-25  
问题在于你还在使用与Web容器耦合的Struts 1.X,实在难以用Spring创建,否则可以用楼上某个朋友的方案。不过也不要紧,你可以用Strecks改造一下你的项目,就可以了,我曾经实现过与你类似的需求的。
11 楼 jolestar 2008-05-24  
dwr干嘛非要和struts扯在一起?单另作一个类,把spring的service注入进去操作不就行了。
10 楼 wangyazhen 2008-05-24  
同意楼上说法
9 楼 yuankai 2008-05-06  
我原来也是像 smalltiger1984 这样做的,感觉还是很好用的。
8 楼 smalltiger1984 2008-05-05  
其实你把Struts去掉就很容易做了
创建一个普通的类,这个类就代替Struts的Action
我是这这么写的
package edu.erp.dept.ajax;
import edu.erp.dept.dao.IDeptDAO;

public class DeptService {
	private IDeptDAO deptDAO;

	public IDeptDAO getDeptDAO() {
		return deptDAO;
	}

	public void setDeptDAO(IDeptDAO deptDAO) {
		this.deptDAO = deptDAO;
	}
	
	public void sub_deploy(Object o){
		getDeptDAO().saveOrupdate(o);//保存数据库
	}
}



通过配置的方法把实现注进这些接口里面
<bean id="AjaxDeptService" class="edu.erp.dept.ajax.DeptService">
		<property name="deptDAO">
			<ref local="DeptDAO"/>
		</property>
	</bean>


这是DWR配置
<dwr>
	<allow>
    	<create creator="spring" javascript="AjaxDeptService">
    		<param name="beanName" value="AjaxDeptService"/>
  			<include method="sub_deploy"/>
 		</create>
	</allow>
</dwr>

在JSP页面用AjaxDeptService.sub_deploy就行了

我是这么写的,公布出来让大家提下建议
7 楼 vannimouse 2007-08-27  
dwr如何同时完好整合struts以及spring?求dwr.xml配置~~
6 楼 qqgoodluck 2007-08-16  
DWR可以控制对外开放的service,直接和service层交互就可以。相对于service层,action是prototype的,所以开销很大。
5 楼 herbert 2007-08-16  
DWR的配置文件里面有一个creator属性,设置creator为"spring",再在spring的配置文件里面定义这个Action的bean,这样就能注入要用的service了
4 楼 littcai 2007-07-11  
action是个控制器,怎么能和DWR结合呢?当然是DWR直接和SERVICE交互了
3 楼 vannimouse 2007-07-09  
如果将所有的要的service对象都在BaseAction中取出这样如何?
2 楼 littcai 2007-06-13  
我觉得这样的方式不好吧,一般Action都是一个DispatchAction,每个方式都是ActionForward形式的,如果加入DWR就要把业务处理单独封装方法,还不如写到Service中去
1 楼 wf_7758520 2007-06-13  
在action中注入这个服务就行了
将getAllPeople()方法改成下面这样:
public List getAllPeople(){

ApplicationContext appContext = WebApplicationContextUtils
		.getWebApplicationContext(this.getServlet().getServletContext());
return appContext.getBean("proService")QueryData("2005");   }

相关推荐

    DWR+Struts+spring+hibernate的订货系统

    DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能

    DWR与SPRING,DWR与STRUTS2的整合

    综上所述,"DWR与SPRING,DWR与STRUTS2的整合"主题涵盖了现代Java Web开发中重要的三个方面:DWR的实时通信能力、Spring的全面后端支持和Struts2的MVC架构。通过整合这三者,开发者可以构建出具有高效交互、灵活管理...

    dwr和spring和struts2整合

    在IT行业中,Web应用程序开发是核心领域之一,而Spring、Struts2和Direct Web Remoting (DWR) 是其中常见的三大框架。它们分别扮演着不同的角色,以提高开发效率和提供更好的用户体验。本文将深入探讨如何将这三者...

    struts2+hibernate+spring+dwr整合

    Struts2、Hibernate、Spring 和 DWR 是四个在Java Web开发中非常重要的框架,它们各自在不同的领域提供了强大的功能,并且能够通过整合实现更高效、更灵活的应用开发。接下来,我们将详细探讨这些技术以及它们如何...

    struts2与dwr整合实例

    Struts2和DWR(Direct Web Remoting)的整合是Web开发中的一种常见技术组合,它们可以帮助开发者构建高效、交互性强的Web应用。Struts2作为MVC框架,提供了强大的控制层支持,而DWR则允许JavaScript在浏览器端直接...

    struts2 spring ibatis dwr整合配置

    以下将详细介绍如何进行Struts2、Spring、iBatis和DWR的整合配置。 【Struts2配置】 1. 创建基础工程结构:在myEclipse中新建Web工程s2siDemo,并创建相关的包和类。例如,UserAction、UserDao、UserManager和...

    struts2+spring+hibernate+dwr

    Struts2、Spring、Hibernate和DWR是Java Web开发中常用的四大框架,它们各自负责不同的功能,协同工作能构建出高效、灵活的企业级应用。在这个小实例中,开发者结合这四个框架来展示了一个完整的后端架构。 Struts2...

    DWR整合Spring MVC

    **DWR整合Spring MVC**是将Direct Web Remoting (DWR)框架与Spring MVC结合使用,以实现前端JSP页面直接调用后端Java方法的功能。这种整合方式极大地提高了Web应用的交互性和实时性,降低了数据传输的复杂性。本文将...

    DWR,Struts,Hibernate和Spring的J2EE架构开发大全

    基于Struts+Hibernate+Spring的整合架构及其在Web开发中的应用.pdf 基于Struts+Spring+Hibernate架构的轻量级J2EE的研究与应用.pdf 基于Struts+Spring+Hibernate架构的进销存管理系统的设计与实现.pdf 基于...

    dwr2.0整合Struts1.3+hibernate3.1+spring2.5的项目

    标题 "dwr2.0整合Struts1.3+hibernate3.1+spring2.5的项目" 涉及的是一个经典的Java Web开发技术集成,这其中包括Direct Web Remoting (DWR) 2.0、Struts 1.3、Hibernate 3.1和Spring 2.5。这个项目可能是为了展示...

    Struts2 + spring + hibernate + dwr 完美整合代码

    Struts2、Spring、Hibernate和DWR是Java Web开发中常用的四大框架,它们各自负责不同的职责,协同工作可以构建出高效、稳定且易于维护的Web应用程序。本项目整合了这四大框架,实现了用户注册、多级下拉联动及表格...

    dwr与spring整合

    **DWR(Direct Web Remoting)与Spring框架的整合** DWR是一款开源的Java库,它允许在浏览器和服务器之间进行动态、实时的双向通信,实现了JavaScript与Java之间的远程调用。Spring则是一个广泛使用的Java企业级...

    dwr与struts2

    ### dwr与struts2 #### Struts2的Ajax支持介绍 **Struts2** 是一个流行的MVC(Model-View-Controller)架构框架,它主要用于构建Java Web应用程序。Struts2提供了强大的功能来帮助开发者简化开发流程并提高效率。...

    用户注册和登录是每个系统的必须存在的一部分,基于Dwr+Struts2+Spring+Hibernate写了一个用户登录注册系统

    47. //struts2整合Spring插件 48. struts2-spring-plugin-2.0.11.2.jar 49. //struts2必须 50. xwork-2.0.5.jar  数据库设计(使用MySql数据库): Java代码 1. create table user 2. ( 3. id varchar(32) ...

    spring struts2 hibernate dwr

    **Spring、Struts2、Hibernate和DWR框架整合详解** 在现代Web开发中,整合不同的框架可以提升应用程序的效率和可维护性。Spring、Struts2、Hibernate和Direct Web Remoting (DWR) 是四种非常流行的Java开源框架,...

    spring json dwr struts2.0 hibernate整合

    在您提供的信息中,我们看到一个基于Java的项目,它整合了Spring、JSON、DWR(Direct Web Remoting)、Struts2.0以及Hibernate3.0。下面将详细介绍这些技术及其整合方式。 1. **Spring框架**: Spring是一个开源的...

    Ajax(DWR) + Spring + Hibernate + Struts整合登陆注册

    Ajax、Spring、Hibernate和Struts是Java Web开发中的四大核心技术,它们各司其职,共同构建了一个高效、灵活且功能强大的后端架构。这个小例子将这四个框架整合在一起,用于实现一个登录注册系统,提供了从客户端到...

    spring2 整合 Dwr(把DWR的配置写到Spring的配置文件)

    整合Spring和DWR可以使Web应用更加强大且易于维护,通过上述步骤和示例,你应该能理解如何在Spring2中整合DWR并把DWR配置写入Spring的配置文件中。在实际项目中,根据具体需求进行调整和优化,以达到最佳效果。

    Spring+Dwr整合的项目(源码)

    通过这个项目,开发者可以深入理解Spring和DWR的整合机制,提升在Web开发中的实战能力,尤其是对于需要实时交互的应用场景,DWR的使用能极大地提升用户体验。同时,注解方式的整合也展示了现代化开发的趋势,即简化...

    DWR+spring+struts+hibernat整合登陆

    本项目"DWRSpringHibernateStrutsTest"就是一个典型的例子,它整合了Direct Web Remoting (DWR)、Spring框架、Struts框架以及Hibernate ORM工具,以创建一个登录系统。下面我们将详细探讨这些技术以及它们在项目中的...

Global site tag (gtag.js) - Google Analytics