隨筆-3  評(píng)論-0  文章-4  trackbacks-0
          用dwr實(shí)現(xiàn)在表單存儲(chǔ)的功能,dwr與spring的結(jié)合使用上遇上了些問(wèn)題,先把應(yīng)用步驟記錄下來(lái)吧:

          1.dwr.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "
          http://www.getahead.ltd.uk/dwr/dwr10.dtd ">
          <dwr>
          ??? <allow>?????
          ??????? <create creator="spring" javascript="FormDataDwrUtil">???
          ?????? <param name="beanName" value="formDataDwrUtil"/> ???////配置成spring,會(huì)從spring中去找到這個(gè)bean
          ??????? </create>
          ?? </allow>?
          ??
          <signatures>
          ? <![CDATA[
          ? import java.util.Map;?
          ? ]]>
          </signatures>
          </dwr>

          2.applicationContext.xml 片段
          <bean id="formDataDwrUtil" class="com.odp.web.dwr.FormDataDwrUtil">
          ??<property name="formInstanceDao">
          ????? <ref bean="formInstanceDao"/>
          ??? </property>
          ?</bean>

          3.web.xml? 片段
          ?
          <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>dwr-invoker</servlet-name>
          ??????? <display-name>DWR Servlet</display-name>
          ??????? <description>Direct Web Remoter Servlet</description>
          ??????? <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
          ??????? <init-param>
          ??????????? <param-name>debug</param-name>
          ??????????? <param-value>true</param-value>
          ??????? </init-param>
          ??? </servlet>
          ?? <servlet-mapping>
          ??????? <servlet-name>dwr-invoker</servlet-name>
          ??????? <url-pattern>/dwr/*</url-pattern>
          ??? </servlet-mapping>

          ?? 4.jsp引用
          <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/FormDataDwrUtil.js'></script>
          <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script>
          <script type='text/javascript' src='<%=request.getContextPath()%>/xx/js/dwr/util.js'></script>?
          <!--將包中js直接拿出來(lái)用了, 做了一些修改以滿足實(shí)際需求-->
          <script>
          ?? var formdata;
          ? function saveItem(){???
          ? ?DWRUtil.getMapValues(formdata);???? //將form表單中的數(shù)據(jù)組織成map賦給formdata
          ????FormDataDwrUtil.saveValues(aftersave, formdata);? ?? //調(diào)用java代碼存儲(chǔ)數(shù)據(jù)
          ? }?
          ? function aftersave(result){???????
          //回調(diào)方法,顯示保存結(jié)果
          ???if( result? != null ){
          ? ??parent.setInstanceId(""+result);
          ? ??document.getElementById("msg").innerHTML = "<font color='red' size='2px'>保存成功!</font>";
          ? ??document.getElementById("save").style.display = "none";
          ? ??//document.getElementById("print").style.display="block";
          ? ??//document.getElementById("printpreview").style.display="block";
          ? ?}else{
          ? ??document.getElementById("msg").innerHTML = "<font color='red' size='2px'>保存失敗!</font>";
          ? ?}
          ? }
          ??
          /**
          ?*? 根據(jù)參數(shù)找到指定的表單數(shù)據(jù)組織成map
          */
          ? function findItem(instanceId , tablename){??????????
          ??? DWRUtil.useLoadingMessage("loading.....");
          ? ?FormDataDwrUtil.getFormData(loadItem , instanceId , tablename);
          ? }
          /**
          *回調(diào)方法,將數(shù)據(jù)填充到表單中
          */
          ? function loadItem(pformdata){
          ??? formdata = pformdata;
          ? ?DWRUtil.setValues( pformdata );
          ?? }
          ?
          ok,能正常使用,正常保存數(shù)據(jù),加載數(shù)據(jù)了.

          問(wèn)題出現(xiàn)了,當(dāng)我改變了應(yīng)用中類,weblogic會(huì)自動(dòng)重載,spring重新裝載數(shù)據(jù)、類,所有的東西都不受影響,dwr這里卻出了問(wèn)題,錯(cuò)誤如下:
          ???
          java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoade
          rListener registered?
          ??????? at org.springframework.web.servlet.support.RequestContextUtils.getWebApp
          licationContext(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletContext;)Lor
          g/springframework/web/context/WebApplicationContext;(RequestContextUtils.java:83
          )
          ??????? at uk.ltd.getahead.dwr.create.SpringCreator.getBeanFactory()Lorg/springf
          ramework/beans/factory/BeanFactory;(SpringCreator.java:174)
          ??????? at uk.ltd.getahead.dwr.create.SpringCreator.getInstance()Ljava/lang/Obje
          ct;(SpringCreator.java:131)
          ??????? at uk.ltd.getahead.dwr.create.SpringCreator.getType()Ljava/lang/Class;(S
          pringCreator.java:104)
          ??????? at uk.ltd.getahead.dwr.impl.DefaultInterfaceProcessor.handle(Ljavax/serv
          let/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(DefaultIn
          terfaceProcessor.java:69)
          ??????? at uk.ltd.getahead.dwr.impl.DefaultProcessor.handle(Ljavax/servlet/http/
          HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(DefaultProcessor.j
          ava:77)
          ??????? at uk.ltd.getahead.dwr.AbstractDWRServlet.doPost(Ljavax/servlet/http/Htt
          pServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AbstractDWRServlet.ja
          va:162)
          ??????? at uk.ltd.getahead.dwr.AbstractDWRServlet.doGet(Ljavax/servlet/http/Http
          ServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AbstractDWRServlet.jav
          a:149)
          ??????? at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServle
          tRequest;Ljavax/servlet/http/HttpServletResponse;)V(HttpServlet.java:740)
          ??????? at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;
          Ljavax/servlet/ServletResponse;)V(HttpServlet.java:853)
          ??????? at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
          ()Ljava/lang/Object;(ServletStubImpl.java:1072)
          ??????? at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servle
          t/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/Filte
          rChainImpl;)V(ServletStubImpl.java:465)
          ??????? at weblogic.servlet.internal.TailFilter.doFilter(Ljavax/servlet/ServletR
          equest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(TailFilter.j
          ava:28)
          ??????? at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/Ser
          vletRequest;Ljavax/servlet/ServletResponse;)V(FilterChainImpl.java:27)
          ??????? at com.matrixflow.client.RequestEncoderFilter.doFilter(Ljavax/servlet/Se
          rvletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Reques
          tEncoderFilter.java:34)
          ??????? at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/Ser
          vletRequest;Ljavax/servlet/ServletResponse;)V(FilterChainImpl.java:27)
          ??????? at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
          n.run()Ljava/lang/Object;(WebAppServletContext.java:6987)
          ??????? at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/se
          curity/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Objec
          t;(AuthenticatedSubject.java:321)
          ??????? at weblogic.security.service.SecurityManager.runAs(Lweblogic/security/ac
          l/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSub
          ject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:12
          1)
          ??????? at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogi
          c/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponse
          Impl;)V(WebAppServletContext.java:3892)
          ??????? at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic/kernel
          /ExecuteThread;)V(ServletRequestImpl.java:2766)
          ??????? at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest
          ;)V(ExecuteThread.java:224)
          ??????? at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
          ??????? at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Sourc
          e)
          >

          在web.xml? 片段里將下面這段改成Listener也不行,錯(cuò)誤一樣
          ?
          <servlet>
          ??????? <servlet-name>context</servlet-name>
          ??????? <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
          ??????? <load-on-startup>1</load-on-startup>
          ? </servlet>


          現(xiàn)在的解決方法是: 重啟weblogic? 這肯定不是解決的問(wèn)題的根本。 希望能找到問(wèn)題所在.......
          ?
          posted on 2006-06-16 17:51 簡(jiǎn)易 閱讀(634) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 华池县| 宁晋县| 隆安县| 嵊泗县| 石河子市| 澜沧| 普陀区| 隆昌县| 葵青区| 达拉特旗| 桐庐县| 满城县| 铜山县| 石阡县| 兴业县| 措美县| 墨竹工卡县| 虹口区| 乐亭县| 平谷区| 青海省| 阆中市| 彭泽县| 昭苏县| 贞丰县| 牡丹江市| 通榆县| 攀枝花市| 磐石市| 华池县| 浦东新区| 伊宁市| 乌拉特前旗| 扎赉特旗| 红原县| 正宁县| 卢龙县| 岳西县| 伊春市| 通榆县| 黄浦区|