dwr 需要spring注入方法

前端之家收集整理的这篇文章主要介绍了dwr 需要spring注入方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1.当JSP页面的Ajax调用业务层方法时,业务需要DAO层对象,而DAO层对象我们是通过spring来注入的,如果我们直接用DWR暴露给js的对象去调用业务的方法时,就会出现错误。因为业务类DAO对象是空的。这时我们就要通过DWR整合的SPRING的形式来加载对象。
2、要用到SRPING的东西,就是必须加载SPRING的配置文件(applicationContext.xml),在这里我们通过服务启动时去加载,所以要配置修改web.xml文件。在原来的基础上添加以下配置:
Java代码
  1. <!---这个就是用来加载SPRING配置文件的---->
  2. <context-param>
  3. <param-name>contextConfigLocation</param-name>
  4. <param-value>
  5. /WEB-INF/classes/applicationContext.xml
  6. </param-value>
  7. </context-param>
  8. <listener>
  9. <listener-class>
  10. org.springframework.web.context.ContextLoaderListener
  11. </listener-class>
  12. </listener>
  13. <!---这个是DWR本身的配置--->
  14. <servlet>
  15. <servlet-name>dwr</servlet-name>
  16. <servlet-class>
  17. org.directwebremoting.servlet.DwrServlet
  18. </servlet-class>
  19. <init-param>
  20. <param-name>debug</param-name>
  21. <param-value>true</param-value>
  22. </init-param>
  23. </servlet>
  24. <servlet-mapping>
  25. <servlet-name>dwr</servlet-name>
  26. <url-pattern>/dwr/*</url-pattern>
  27. </servlet-mapping>
 <!--- 这个就是用来加载SPRING配置文件的---->
 <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>

<!--- 这个是DWR本身的配置--->
<servlet>
	<servlet-name>dwr</servlet-name>
	 <servlet-class>
			org.directwebremoting.servlet.DwrServlet
		</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
</servlet>

<servlet-mapping>
	<servlet-name>dwr</servlet-name>
	<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

3、SPRING 的配置不变,一样给业务类注入DAO对象
Java代码
  1. <beanid="bidbiz"class="com.byz.bizimpl.BidImpl">
  2. <propertyname="biddao">
  3. <reflocal="BidDAO"/>
  4. </property>
  5. <propertyname="goodsdao">
  6. <reflocal="GoodsDAO"/>
  7. </property>
  8. <propertyname="userdao">
  9. <reflocal="UsersDAO"/>
  10. </property>
  11. </bean>
    <bean id="bidbiz" class="com.byz.bizimpl.BidImpl">
	    <property name="biddao">
	       <ref local="BidDAO"/>
	    </property>
	    <property name="goodsdao">
			<ref local="GoodsDAO" />
		</property>
		<property name="userdao">
			<ref local="UsersDAO" />
		</property>
	</bean>

4、DWR配置文件配置,这时我们需要将原先的creator="new" DWR去实例对象的,现在要改为creator="spring" 由spring注入进来。 Dwr这有个参数 <param name="beanName" value="spring对象"/> 这个可以将对象接收到。
Java代码
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting2.0//EN""http://getahead.org/dwr/dwr20.dtd">
  3. <dwr>
  4. <allow>
  5. <createjavascript="BidImpl"creator="spring"
  6. scope="application">
  7. <!--<paramname="class"value="com.byz.bizimpl.BidImpl"/>-->
  8. <!--将Spring中的对象给到参数-->
  9. <paramname="beanName"value="bidbiz"/>
  10. <includemethod="add"/>
  11. </create>
  12. </allow>
  13. <!--参数集合配置-->
  14. <signatures>
  15. <![CDATA[
  16. importjava.util.List;
  17. com.byz.bizimpl.BidImpl;
  18. BidImpl.add(List);
  19. ]]>
  20. </signatures>
  21. </dwr>
原文链接:https://www.f2er.com/ajax/165769.html

猜你在找的Ajax相关文章