-
使用dwr中报错,help me10
最近有个4级连动的下拉框。。我图省事正好最近开始学DWR 就尝试的用了下。。。结果4级连动下拉 是出来了。。但是偶尔会随即报下面的错 这个错不是每次都报 有时候报有时候不报。。。。我现在只能肯定时使用DWR时报的这个 序列化异常 但为什么会报这个呢。。。
以下时错误~~
<2008-8-18 下午02时47分13秒 CST> <Error> <HTTP> <BEA-101309> <[ServletContext(id=17984913,name=nsfw,context-path=/nsfw)] could not deserialize the context attribute "org.directwebremoting.ContainerList"
java.io.NotSerializableException: org.directwebremoting.impl.DefaultContainer
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at java.util.ArrayList.writeObject(ArrayList.java:531)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at weblogic.servlet.internal.AttributeWrapper.convertObjectToBytes(AttributeWrapper.java:188)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:158)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:99)
at weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletContext.java:651)
at org.directwebremoting.impl.ContainerUtil.publishContainer(ContainerUtil.java:458)
at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:80)
at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1099)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:975)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:954)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:893)
at weblogic.servlet.internal.ServletStubImpl.reloadServlet(ServletStubImpl.java:804)
at weblogic.servlet.internal.ServletStubImpl.checkForReload(ServletStubImpl.java:762)
at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:602)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:406)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7047)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>
以下是 dwr.xml配置
<allow>
<create creator="new" javascript="ItemsBean">
<param name="class" value="dmnsfw.dao.dwr.ItemsBean"/>
</create>
<create creator="new" javascript="SfzmspbSer"> <!-- 页面js中调用的名字 -->
<param name="class" value="dmnsfw.service.SfzmspbSer"/> <!-- 指定类的位置 -->
<include method="queryV_SwjgInfo"/><!-- 容许JS中调用的方法 -->
<include method="queryV_DsInfo"/>
</create>
</allow>
以下是业务层SfzmspbSer中的方法 具体实现已经封装了。。。(小弟用了工厂方法模式)
public Map queryV_DsInfo()
{
return sfzmspbdao.queryV_DsInfo();
}
public Map queryV_SwjgInfo(String dsdmAndswjgdm)
{
return sfzmspbdao.queryV_SwjgInfo(dsdmAndswjgdm);
}
以下是jsp页面中的数据
function onStarti()
{
SfzmspbSer.queryV_DsInfo(createList1i);
}
function createList1i(data)
{
DWRUtil.removeAllOptions("ssds");
DWRUtil.addOptions("ssds",{0:'--请选择--'});
DWRUtil.addOptions("ssds", data);
for(var i=0;i<document.forms[0].ssds.length;i++)
{
var ssdsvalue=document.forms[0].ssds.options[i].value.substring(0,document.forms[0].ssds.options[i].value.indexOf("|"));
var dsdm='<%=request.getAttribute("ds_dm")%>';
if(ssdsvalue==dsdm)
{
document.forms[0].ssds.options[i].selected=true;
}
}
}
</script>
<body onLoad="initDTTR();onStarti();">
因为第一个下拉我是 页面加载时调用的。。。
求教给为dwr达人了。。。
再次强调下 这个错误 并不是每次都报的 偶尔会报下 就是 10次报个2-3次 而且报 这个错并不影响程序运行。。。但是哗哗的错误 看的别扭想解决掉他。。。百度 google 了都找不到 求教各位了。
2008年8月18日 14:56
目前还没有答案
相关推荐
9. **实战项目**:“[浪曦原创]零散视频三 使用DWR开发AJAX For J2EE(JustCode).wrf”可能是一个实际操作视频,详细演示如何使用DWR构建一个简单的AJAX应用,通过观看可以加深对上述理论知识的理解。 10. **资源...
### DWR使用方法详解:逐步指南 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在浏览器端直接调用服务器端的方法,如同调用本地对象一样简单。本篇文章将从安装DWR、配置相关文件到...
**DWR(Direct Web Remoting)技术文档** DWR,全称Direct Web Remoting,是一种在Web应用程序中实现...通过理解其核心功能、配置步骤以及使用流程,开发者可以快速地在项目中引入DWR,构建高效、动态的Web应用。
在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...
DWR (Direct Web Remoting) 是一个开源Java库,它允许在Web应用程序中实现JavaScript与服务器端Java对象的直接交互,极大地简化了AJAX(Asynchronous JavaScript and XML)的使用。在J2EE环境中,DWR作为一个强大的...
**DWR(Direct Web Remoting)使用方法详解** DWR,全称为Direct Web Remoting,是一种开源Java技术,用于在Web应用程序中实现浏览器与服务器之间的实时双向通信。它允许JavaScript直接调用Java方法,就像它们在...
在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...
DWR通过在客户端和服务器之间建立一个通信层,使得开发者可以轻松地在JavaScript中使用Java对象,极大地简化了前后端交互的复杂性。 DWR的核心组件包括: 1. **DWRServlet**:这是DWR的主要入口点,它是一个...
Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时、安全的双向通信,有效地打破...然而,正确配置和使用DWR,以及处理好跨域安全问题,是每个开发者必须面对和解决的挑战。
对于初学者来说,这是一个很好的起点,它涵盖了DWR基本的使用方式和配置,同时也提供了一个可运行的示例,帮助理解Ajax通信的工作原理。通过深入学习和实践,你可以利用DWR构建更复杂的交互式Web应用。
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
这个接口需要被DWR识别,所以我们需要使用DWR的注解(如`@RemoteProxy`)来标记它。 在Spring中,我们还需要为这些接口提供实现类,处理业务逻辑并调用消息推送服务。Spring的依赖注入可以帮助我们将其他服务(如...
这篇博客文章“关于使用DWR返回对象List的方法”主要探讨了如何通过DWR框架在Java后端处理数据并以List对象的形式返回给前端JavaScript。 在Web开发中,通常我们需要从服务器获取数据并在客户端展示,DWR通过AJAX...
下面将详细介绍如何使用DWR实现文件上传的功能。 首先,我们需要理解DWR的基本工作原理。DWR通过在客户端和服务器端之间建立一个安全的通道,使得JavaScript可以直接调用服务器上的Java方法。这极大地提高了用户...
以下是对DWR包的使用入门的详细说明: 1. **DWR的安装与配置**: - 在Java项目中引入DWR库,通常通过Maven或Gradle添加依赖。 - 配置DWR的`dwr.xml`文件,定义允许的远程方法和类,这是DWR的核心配置文件,用于...
下面我们将详细探讨DWR的配置和使用方法。 首先,配置DWR涉及以下几个关键步骤: 1. **引入DWR库**:在项目中添加dwr.jar,这是DWR的核心库,包含了所有必要的类和接口。 2. **创建Java类**:定义你需要在客户端...
Struts和DWR(Direct Web Remoting)是两种在Web开发中广泛使用的开源技术。Struts是一种基于MVC(Model-View-Controller)设计模式的Java框架,用于构建可维护性和可扩展性良好的Web应用程序。而DWR则是一个...
DWR现在已经在java平台的AJAX应用中使用比较广泛,下面将以前项目中用到的部分内容(测试部分)贴出来,以供参考
【DWR(Direct Web Remoting)与Ajax技术详解】 DWR(Direct Web Remoting)是一种在Web应用程序中...理解并掌握DWR和Ajax的结合使用,能够极大地提升你的Web开发能力,让你能构建出更加高效、用户体验优良的应用。
- 该中文文档将详细介绍DWR的安装、配置、使用方法以及常见问题的解决,是学习DWR的重要参考资料。 通过深入学习这份DWR中文文档,开发者不仅可以掌握DWR的基本用法,还能了解到如何在实际项目中有效利用DWR提升...