﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-java知识积累</title><link>http://www.blogjava.net/redblack419/</link><description>java知识积累</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:03:06 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:03:06 GMT</pubDate><ttl>60</ttl><item><title>dwr实际应用</title><link>http://www.blogjava.net/redblack419/archive/2006/06/16/53361.html</link><dc:creator>简易</dc:creator><author>简易</author><pubDate>Fri, 16 Jun 2006 09:51:00 GMT</pubDate><guid>http://www.blogjava.net/redblack419/archive/2006/06/16/53361.html</guid><wfw:comment>http://www.blogjava.net/redblack419/comments/53361.html</wfw:comment><comments>http://www.blogjava.net/redblack419/archive/2006/06/16/53361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/redblack419/comments/commentRss/53361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/redblack419/services/trackbacks/53361.html</trackback:ping><description><![CDATA[
		<font face="Georgia">用dwr实现在表单存储的功能,dwr与spring的结合使用上遇上了些问题,先把应用步骤记录下来吧:<br /><br /><font color="#ffa500">1.dwr.xml</font><br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "</font>
		<a href="http://www.getahead.ltd.uk/dwr/dwr10.dtd">
				<font face="Georgia">http://www.getahead.ltd.uk/dwr/dwr10.dtd</font>
		</a>
		<font face="Georgia">"&gt;<br />&lt;dwr&gt;<br />    &lt;allow&gt;      <br />        &lt;create creator="spring" javascript="FormDataDwrUtil"&gt;   <br />       &lt;param name="beanName" value="formDataDwrUtil"/&gt;    <font color="#006400">////配置成spring,会从spring中去找到这个bean</font><br />        &lt;/create&gt;<br />   &lt;/allow&gt;  <br />   <br />&lt;signatures&gt;<br />  &lt;![CDATA[<br />  import java.util.Map;  <br />  ]]&gt;<br />&lt;/signatures&gt;<br />&lt;/dwr&gt;<br /><br /></font>
		<font face="Georgia">
				<font color="#ffa500">2.applicationContext.xml 片段<br /></font>&lt;bean id="formDataDwrUtil" class="com.odp.web.dwr.FormDataDwrUtil"&gt;<br />  &lt;property name="formInstanceDao"&gt;<br />      &lt;ref bean="formInstanceDao"/&gt;<br />    &lt;/property&gt;<br /> &lt;/bean&gt;<br /><br /><font color="#ffa500">3.web.xml  片段</font><br />  </font>
		<font face="Georgia">
				<font style="BACKGROUND-COLOR: #ffffff">&lt;servlet&gt;<br />        &lt;servlet-name&gt;context&lt;/servlet-name&gt;<br />        &lt;servlet-class&gt;org.springframework.web.context.ContextLoaderServlet&lt;/servlet-class&gt;<br />        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />  &lt;/servlet&gt; <br /></font>  &lt;servlet&gt;<br />        &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<br />        &lt;display-name&gt;DWR Servlet&lt;/display-name&gt;<br />        &lt;description&gt;Direct Web Remoter Servlet&lt;/description&gt;<br />        &lt;servlet-class&gt;uk.ltd.getahead.dwr.DWRServlet&lt;/servlet-class&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;debug&lt;/param-name&gt;<br />            &lt;param-value&gt;true&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />    &lt;/servlet&gt;<br />   &lt;servlet-mapping&gt;<br />        &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<br />        &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;<br />    &lt;/servlet-mapping&gt;<br /><br />   <font color="#ffa500">4.jsp引用</font><br />&lt;script type='text/javascript' src='&lt;%=request.getContextPath()%&gt;/dwr/interface/FormDataDwrUtil.js'&gt;&lt;/script&gt;<br />&lt;script type='text/javascript' src='&lt;%=request.getContextPath()%&gt;/dwr/engine.js'&gt;&lt;/script&gt;<br />&lt;script type='text/javascript' src='&lt;%=request.getContextPath()%&gt;/xx/js/dwr/util.js'&gt;&lt;/script&gt;  </font>
		<font face="Georgia">
				<font color="#006400">&lt;!--将包中js直接拿出来用了, 做了一些修改以满足实际需求--&gt;<br /></font>&lt;script&gt;<br />   var formdata; <br />  function saveItem(){    <br />   DWRUtil.getMapValues(formdata);     <font color="#006400">//将form表单中的数据组织成map赋给formdata</font><br />    FormDataDwrUtil.saveValues(aftersave, formdata);     <font color="#006400">//调用java代码存储数据</font><br />  }  <br />  function aftersave(result){        </font>
		<font face="Georgia">
				<font color="#006400">//回调方法,显示保存结果<br /></font>   if( result  != null ){<br />    parent.setInstanceId(""+result); <br />    document.getElementById("msg").innerHTML = "&lt;font color='red' size='2px'&gt;保存成功!&lt;/font&gt;";<br />    document.getElementById("save").style.display = "none";<br />    //document.getElementById("print").style.display="block";<br />    //document.getElementById("printpreview").style.display="block";<br />   }else{<br />    document.getElementById("msg").innerHTML = "&lt;font color='red' size='2px'&gt;保存失败!&lt;/font&gt;";<br />   }<br />  }<br />  <br /></font>
		<font face="Georgia">
				<font color="#006400">/**<br /> *  根据参数找到指定的表单数据组织成map<br />*/<br /></font>  function findItem(instanceId , tablename){           <br />    DWRUtil.useLoadingMessage("loading.....");<br />   FormDataDwrUtil.getFormData(loadItem , instanceId , tablename);<br />  }<br /></font>
		<font face="Georgia">
				<font color="#006400">/**<br />*回调方法,将数据填充到表单中<br />*/<br /></font>  function loadItem(pformdata){<br />    formdata = pformdata;<br />   DWRUtil.setValues( pformdata );<br />   }<br /> <br />ok,能正常使用,正常保存数据,加载数据了.<br /><br />问题出现了,当我改变了应用中类,weblogic会自动重载,spring重新装载数据、类，所有的东西都不受影响，dwr这里却出了问题，错误如下：<br />    </font>
		<font color="#ff0033" size="2">
				<font face="Georgia">java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoade<br />rListener registered?<br />        at org.springframework.web.servlet.support.RequestContextUtils.getWebApp<br />licationContext(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletContext;)Lor<br />g/springframework/web/context/WebApplicationContext;(RequestContextUtils.java:83<br />)<br />        at uk.ltd.getahead.dwr.create.SpringCreator.getBeanFactory()Lorg/springf<br />ramework/beans/factory/BeanFactory;(SpringCreator.java:174)<br />        at uk.ltd.getahead.dwr.create.SpringCreator.getInstance()Ljava/lang/Obje<br />ct;(SpringCreator.java:131)<br />        at uk.ltd.getahead.dwr.create.SpringCreator.getType()Ljava/lang/Class;(S<br />pringCreator.java:104)<br />        at uk.ltd.getahead.dwr.impl.DefaultInterfaceProcessor.handle(Ljavax/serv<br />let/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(DefaultIn<br />terfaceProcessor.java:69)<br />        at uk.ltd.getahead.dwr.impl.DefaultProcessor.handle(Ljavax/servlet/http/<br />HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(DefaultProcessor.j<br />ava:77)<br />        at uk.ltd.getahead.dwr.AbstractDWRServlet.doPost(Ljavax/servlet/http/Htt<br />pServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AbstractDWRServlet.ja<br />va:162)<br />        at uk.ltd.getahead.dwr.AbstractDWRServlet.doGet(Ljavax/servlet/http/Http<br />ServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AbstractDWRServlet.jav<br />a:149)<br />        at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServle<br />tRequest;Ljavax/servlet/http/HttpServletResponse;)V(HttpServlet.java:740)<br />        at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;<br />Ljavax/servlet/ServletResponse;)V(HttpServlet.java:853)<br />        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run<br />()Ljava/lang/Object;(ServletStubImpl.java:1072)<br />        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servle<br />t/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/Filte<br />rChainImpl;)V(ServletStubImpl.java:465)<br />        at weblogic.servlet.internal.TailFilter.doFilter(Ljavax/servlet/ServletR<br />equest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(TailFilter.j<br />ava:28)<br />        at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/Ser<br />vletRequest;Ljavax/servlet/ServletResponse;)V(FilterChainImpl.java:27)<br />        at com.matrixflow.client.RequestEncoderFilter.doFilter(Ljavax/servlet/Se<br />rvletRequest;Ljavax/servlet/ServletResponse;Ljavax/servlet/FilterChain;)V(Reques<br />tEncoderFilter.java:34)<br />        at weblogic.servlet.internal.FilterChainImpl.doFilter(Ljavax/servlet/Ser<br />vletRequest;Ljavax/servlet/ServletResponse;)V(FilterChainImpl.java:27)<br />        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio<br />n.run()Ljava/lang/Object;(WebAppServletContext.java:6987)<br />        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/se<br />curity/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Objec<br />t;(AuthenticatedSubject.java:321)<br />        at weblogic.security.service.SecurityManager.runAs(Lweblogic/security/ac<br />l/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSub<br />ject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:12<br />1)<br />        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogi<br />c/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponse<br />Impl;)V(WebAppServletContext.java:3892)<br />        at weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic/kernel<br />/ExecuteThread;)V(ServletRequestImpl.java:2766)<br />        at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest<br />;)V(ExecuteThread.java:224)<br />        at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)<br />        at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Sourc<br />e)<br />&gt;<br /><br /><font size="3"><font color="#ffa500">在web.xml  片段里将下面这段改成<font color="#000000" size="2">Listener也不行，错误一样</font><br /></font><font color="#000000">  </font></font><font face="Georgia"><font style="BACKGROUND-COLOR: #ffffff"><font color="#000000" size="3">&lt;servlet&gt;<br />        &lt;servlet-name&gt;context&lt;/servlet-name&gt;<br />        &lt;servlet-class&gt;org.springframework.web.context.ContextLoaderServlet&lt;/servlet-class&gt;<br />        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />  &lt;/servlet&gt;</font></font></font><br /><br /><font color="#000000">现在的解决方法是： 重启weblogic  这肯定不是解决的问题的根本。 希望能找到问题所在.......</font></font> </font>
<img src ="http://www.blogjava.net/redblack419/aggbug/53361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/redblack419/" target="_blank">简易</a> 2006-06-16 17:51 <a href="http://www.blogjava.net/redblack419/archive/2006/06/16/53361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ajax 边学边记</title><link>http://www.blogjava.net/redblack419/archive/2006/05/19/47087.html</link><dc:creator>简易</dc:creator><author>简易</author><pubDate>Fri, 19 May 2006 09:22:00 GMT</pubDate><guid>http://www.blogjava.net/redblack419/archive/2006/05/19/47087.html</guid><wfw:comment>http://www.blogjava.net/redblack419/comments/47087.html</wfw:comment><comments>http://www.blogjava.net/redblack419/archive/2006/05/19/47087.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/redblack419/comments/commentRss/47087.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/redblack419/services/trackbacks/47087.html</trackback:ping><description><![CDATA[ajax dwr(direct web remoting)框架简介<br /><font size="2">这个从JAVA到JavaScript的远程功能方法给DWR的用户带来非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有运行在WEB上但是不需要浏览器插件的好处.<br />它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet(小应用程序)中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.</font><a href="http://flyfish81225.blogchina.com/4098286.html"><br />http://flyfish81225.blogchina.com/4098286.html</a> <br /><br /><a href="http://getahead.ltd.uk/dwr/getstarted">http://getahead.ltd.uk/dwr/getstarted</a><br /><a href="http://getahead.ltd.uk/dwr/getstarted">http://getahead.ltd.uk/dwr/getstarted</a><br />dwr.xml<br /><pre>&lt;!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
    "<a href="http://www.getahead.ltd.uk/dwr/dwr10.dtd"><font color="#5a5a8d">http://www.getahead.ltd.uk/dwr/dwr10.dtd</font></a>"&gt;

&lt;dwr&gt;
  &lt;allow&gt;
    &lt;create creator="new" javascript="JDate"&gt;
      &lt;param name="class" value="java.util.Date"/&gt;
    &lt;/create&gt;
    &lt;create creator="new" javascript="Demo"&gt;
      &lt;param name="class" value="your.java.Bean"/&gt;
    &lt;/create&gt;
  &lt;/allow&gt;
&lt;/dwr&gt;
defines what classes DWR can create and remote for use by Javascript<br />Bean类必须都有一个默认的无参构造器<br />DWR has a few restrictions:<ul><li>Avoid reserved JavaScript words </li><li>Methods named after reserved words are automatically excluded. Most JavaScript reserved words are also Java reserved words, so you won't be having a method called "try()" anyway. However the most common gotcha is "delete()", which has special meaning from JavaScript but not Java. </li><li>Overloaded methods can be involved in a bit of a lottery as to which gets called, so avoid overloaded methods. </li></ul><p><br /><br /> </p></pre><img src ="http://www.blogjava.net/redblack419/aggbug/47087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/redblack419/" target="_blank">简易</a> 2006-05-19 17:22 <a href="http://www.blogjava.net/redblack419/archive/2006/05/19/47087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>libXmlRequest</title><link>http://www.blogjava.net/redblack419/archive/2006/05/18/46881.html</link><dc:creator>简易</dc:creator><author>简易</author><pubDate>Thu, 18 May 2006 11:54:00 GMT</pubDate><guid>http://www.blogjava.net/redblack419/archive/2006/05/18/46881.html</guid><wfw:comment>http://www.blogjava.net/redblack419/comments/46881.html</wfw:comment><comments>http://www.blogjava.net/redblack419/archive/2006/05/18/46881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/redblack419/comments/commentRss/46881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/redblack419/services/trackbacks/46881.html</trackback:ping><description><![CDATA[
		<a href="http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html">http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html</a>
		<br />( ajax javascript 处理xml)<br />没搞定,以为可以用这个js自如的处理xml,结果处处报错<br />var oXml = getXml("sample_data.xml"); <br />var aNodes = selectNodes(oXml,"/sample-data-root/the-data",oXml.documentElement); <br />这个js里根本没有如下这个方法 
<li>[xml_document] = getXml(sPath): a synchronous GET request, returns null or an xml document object ,是另外一个,里面带了N多参数,试了试还是不能用,难道是js下错了?郁闷.....<br /></li><p>换了个方法来处理读入的xml文件<br />文件:formdatas.xml<br />&lt;?xml version="1.0" encoding="gb2312"?&gt;<br />&lt;formdatas&gt;<br />  &lt;data&gt;<br />   &lt;address&gt;地址&lt;/address&gt;                                    #text<br />   &lt;productaddress&gt;生产地址&lt;/productaddress&gt;   #text<br />   &lt;diploma&gt;大专&lt;/diploma&gt;                                  #select<br />   &lt;type&gt;二类|四类|三类&lt;/type&gt;                           #checkbox<br />   &lt;sex&gt;女&lt;/sex&gt;                                                   #radio<br />   &lt;date&gt;2005年12月31日&lt;/date&gt;                        #text<br />   &lt;memo&gt;备注&lt;/memo&gt;                                      #textarea   <br />   &lt;/data&gt;   <br />&lt;/formdatas&gt;<br />js片段:<br />function updateform(xmlname,obj){  <br /> var url = ""+xmlname;</p><p> if(document.implementation&amp;&amp;document.implementation.createDocument) {<br />  <br />  var xmldoc = document.implementation.createDocument("", "", null);<br />  xmldoc.onload =  handler(xmldoc, obj);<br />  xmldoc.load(url);<br /> }<br /> else if(window.ActiveXObject) {<br />  <br />  var xmldoc = new ActiveXObject("Microsoft.XMLDOM");<br />  xmldoc.onreadystatechange = function() {<br />   if(xmldoc.readyState == 4) handler(xmldoc, obj);<br />  }<br />  xmldoc.load(url);<br /> }<br />}</p><p>function handler(xmldoc, obj) {<br /> var formdatas = xmldoc.getElementsByTagName("data")[0]; <br /> for (var i=0;i&lt;obj.length ;i++ ){<br />   e=obj[i];     <br />   if (e.name != '') //表单中的e.name对应xml里的tagName,利用对应关系,将值写入表单中<br />   {    <br />    if ( e.type == 'text' || e.type == 'textarea'){     <br />     e.value = formdatas.getElementsByTagName(e.name)[0].firstChild.data;    <br />    }<br />    if( e.type == 'checkbox' || e.type == 'radio'){<br />     var temp = formdatas.getElementsByTagName(e.name)[0].firstChild.data.split("|");     <br />     for(var k=0; k&lt;temp.length; k++){<br />      //alert( temp[k] );<br />      if( e.value == temp[k] ) e.checked = true;<br />     }<br />    }<br />    if( e.type == 'select-one' ){<br />     var selvalue = formdatas.getElementsByTagName(e.name)[0].firstChild.data;<br />     document.getElementById(e.name+"div").innerHTML="";<br />     document.getElementById(e.name+"div").innerHTML=selvalue;<br />    }</p><p>   }<br /> }<br />}<br />效果:点击"读取xml文件"按钮,将相应的值解析到文本框中,如下所示:<br /><img height="384" alt="aa.bmp" src="http://www.blogjava.net/images/blogjava_net/redblack419/aa.bmp" width="512" border="0" /></p><img src ="http://www.blogjava.net/redblack419/aggbug/46881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/redblack419/" target="_blank">简易</a> 2006-05-18 19:54 <a href="http://www.blogjava.net/redblack419/archive/2006/05/18/46881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>