社区
Web 开发
帖子详情
有关Applet和Servlet通讯的怪事。
hurt75
2001-11-30 10:46:56
当Applet发字符串给Servlet的时候,我flush 了close了,但我再按一次Applet的发送的话,为什么Servlet收到的确实是二个串加在一起呢?比如我发送了“abcde”,当再按一次Applet发送的时候却收到了"abcdeabcde"是二串想加,Servlet的out每次也close了,就是不行,反正是按一次串就再加一次,奇怪,请问这是怎么回事?
...全文
209
3
打赏
收藏
有关Applet和Servlet通讯的怪事。
当Applet发字符串给Servlet的时候,我flush 了close了,但我再按一次Applet的发送的话,为什么Servlet收到的确实是二个串加在一起呢?比如我发送了“abcde”,当再按一次Applet发送的时候却收到了"abcdeabcde"是二串想加,Servlet的out每次也close了,就是不行,反正是按一次串就再加一次,奇怪,请问这是怎么回事?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
javamap
2001-12-01
打赏
举报
回复
I believe both Applet and Servlet works correctly. The problem is in your code after Servlet receiving.
xpxxp
2001-12-01
打赏
举报
回复
管道流中数据不清除,请你改用SOCKET通信,如果你坚持做,你就只能让APPLET发,SERVLET收。管道的连接是单向的,如果你用这个连接发数据,你自己可以用输入流收下来。而SOCKET则不是他的连接是双向的。
dracowoo
2001-12-01
打赏
举报
回复
请讲清楚一些。。我还是不清楚。我的问题是这样的。当网页关掉的是时候就没有这个问题
。但是如果网页不关闭。譬如说在网页上有一个按钮。我第一次点击的时候。工作正常。如果我
点击两次以上的话。我在servlet的request接收的数据总是两个数据串ping在一起的。就是前一次送的串也存在。
到底是applet里设置联接的时候有什么问题吗?我的applet里面的方法代码如下
private void sendXMLStr() {
try {
URL codeBase = getCodeBase();
URL url =
new URL(
"http://"
+ codeBase.getHost()
+ ":"
+ codeBase.getPort()
+ "/servlet/com.cs.eximbills.RegisterServlet");
String xmlStr =
URLEncoder.encode("xmlStr") + "=" + URLEncoder.encode(XMLStr.toString());
URLConnection uc = url.openConnection();
uc.setDoOutput(true);
uc.setDoInput(true);
uc.setUseCaches(false);
uc.setRequestProperty("Content-type", "application/x-www-form-urlencoded");
//------------begin write the xml str to the outputStream----------------//
/*try {
PrintWriter out=PrintWriter(uc.getOutputStream());
//out.print(xmlStr+"="+URLEncoder.encode(XMLStr.toString()));
} catch (Exception e) {
System.out.println(e.toString());
}*/
try {
DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
dos.writeBytes(xmlStr);
//dos.writeChars(xmlStr);
dos.flush();
dos.close();
} catch (Exception e) {
System.out.println("can't write to OutputStream");
}
//------------end write the xml str to the outputStream-------------------//
InputStreamReader in = new InputStreamReader(uc.getInputStream());
int chr = in.read();
while (chr != -1) {
//taResults.append(String.valueOf((char) chr));
chr = in.read();
}
in.close();
} catch (MalformedURLException e) {
System.out.println(e.toString());
} catch (IOException e) {
System.out.println(e.toString());
}
}我在servlet接收xmlStr这个值。谢谢
VS2017配置opencv3.2在MFC单文档中显示图片
最近微软发布了VS2017,增加了很多更实用的功能,其中让笔者兴奋不已的GPU加速功能。只需要切换一个按键便能享受GPU的加速,让程序的速度几何倍数的加快。 可是vs2017比较刚刚发布很多的第三方库和第三方的工具都没有更新过来。其中包括笔者在标题上提到的Opencv3.2以及笔者以前一直使用的C++第三方GUI库QT。可是笔者着实不想放弃这令人着迷的VS2017。于是千方百计,到处翻资料终于在
MFC+Opencv4+vs2017 显示图像 详细小白教程(不使用cvvImage)
前言:最近在学习过程中遇到需要使用MFC的地方。开始进行了MFC的学习,网上找到的资源大多有点老了,感觉用起来十分不便,大家可以搜一个利用MFC制作计算器的小教程,对MFC进行了解,本文是利用MFC显示图像的详细步骤。 开始 首先创建一个MFC项目 我们利用VS进行MFC的创建,其实就是利用VS创建一个新的项目,这里我们要看一下自己安装的VS是否有MFC,如下图: 创建过程中注意将应用程序类型选...
MFC中显示OpenCV Mat图像的完整实践指南
在桌面应用开发中,图像数据的底层组织与界面控件的绘制机制常是开发者需要跨越的门槛。OpenCV的Mat矩阵与Windows GDI位图(HBITMAP/DIB)之间存在格式差异,理解其行序、通道顺序与内存对齐是正确显示的前提。通过StretchDIBits或CImage可将Mat高效呈现在MFC控件上,而双缓冲与动态缩放则能优化视频预览等高频刷新场景。本文从环境配置到实际代码,系统梳理了MFC集成OpenCV显示图像的全流程,并提供了常见问题排查与性能优化建议,适合需要快速实现桌面图像工具或视觉应用界面的开
VS的MFC工程输出打印信息以及输出mat类型图
1、在要打印调试的类中加上头文件 #include //Rain 用来输出调试信息 #include //Rain 2、加入一个方法 void InitConsoleWindow()//Rain { int nCrt = 0; FILE* fp; AllocConsole(); nCrt = _open_osfha
MFC:CImage显示OpenCV:Mat矩阵图像
自从开始学C++的OpenCV,就想把问题都用一个简单的类来解决。原来使用VC6.0使用的是StretchDIBits这类函数来画图,一旦画新的图像或者显示多张位图,势必遇到多次对环境的调色板重新加载。如今都已经VS2010,MFC下的图像显示功能有所加强。使用MFC下的CImage类(貌似VC2005开始支持)可以很轻松的和快速的在MFC下显示图像;(到底是不是很快速还需要更多的考证,但把已经存
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章