如何实现在表单中将二进制数据传递给servlet?

问题描述

我一直以来都是做基于数据库的c/s模式下的应用开发,最近抽出一定的时间和精力想进一步学习和研究一下jsp、asp.net的WEB开发。现在有这样一个问题想请教在JAVASERVLET中ServletInputStream类是用来读取客户端请求中的二进制数据,但问题我没想明白和找到答案的是在表单中是如何将二进制数据发到Servlet的呢?如在表单中有一个图片选择文本框,经过选择按钮选择一个图片文件后,在文本框中写入文件的路径,然后提交表单时将此图片文件上传给服务器,并保存到服务器上。同时,反过来在日后的登录中服务器也会将对应的图片显示出来,这应该是服务器端Servlet通过ServletOutputStream类将二进制数据发送到客户端的吧?我想搞清楚的就是如何实现这双向的二进制数据传输的?请大侠不吝赐教!!!

解决方案

解决方案二:
这个应该是SERVLET内部处理的东西,就像你写一个ALERT(),为什么会弹出窗口一样,就是那样的
解决方案三:
建议你看一下http信息头,在提交的时候抓取一下至于servlet是如何抓取的,其实和你写c/s结构差不多的,监听端口,分配线程,装饰request,读取数据然后应答建议你看一下《java高级网络编程》这本书,里面讲解的很详细
解决方案四:
直接用组件SMARTUPLOAD省事省心
解决方案五:
1,servlet获取上传的文件http://commons.apache.org/fileupload/2,"如在表单中有一个图片选择文本框,经过选择按钮选择一个图片文件后,在文本框中写入文件的路径,然后提交表单时将此图片文件上传给服务器"不是文本框。而是<INPUTTYPE="FILE"...../>
解决方案六:
引用3楼guolimin1118的回复:

直接用组件SMARTUPLOAD省事省心

大哥,人家问的是原理顺便帮顶
解决方案七:
form要先这么一下,不能按照普通模式那样提交。<formENCTYPE="multipart/form-data"

服务器端也不能像普通模式那样,读取数据。request.getParameter("name")会不管用的。可以用用commons-fileupload,apache的项目。。。--------------细粒度权限管理www.metadmin.com
解决方案八:
上传图片,可以用commons-fileupload将文件流上传到服务器端,然后后台将数据流存到服务器文件系统中或者后台数据库中浏览图片,然后将文件系统或后台数据库中数据都出来就可以了。这个涉及到双向数据流动,如果预算充足,还是用国产商业报表工具吧,推荐FineRpeort,目前国外的报表工具,都没有数据从客户端到数据库的处理。
解决方案九:
其实不用这么复杂先转成二进制流用setbinary()存进去读图片的时候先实例化成一个blob对象再转化成bytes型的数组再用outputstream读出来就好了
解决方案十:
我也在做这个东西,不知道怎么做呀。

时间: 2024-08-31 21:19:48

如何实现在表单中将二进制数据传递给servlet?的相关文章

lotus表单中勾选某一列前的复选框,则这个列下的富文本域由灰色,变成可以上传的正常状态?怎么做?

问题描述 lotus表单中勾选某一列前的复选框,则这个列下的富文本域由灰色,变成可以上传的正常状态?怎么做? 可以在表单中做到这样的效果吗:勾选某一列前的复选框,则这个列下的富文本域由灰色(不可上传),变成可以上传的正常状态?怎么做?

帮忙写个ajax获取表单中所有input,并提交save.do?

问题描述 帮忙写个ajax获取表单中所有input,并提交save.do? <form id="inputForm" action="${ctx }/ocr/save.do" method="post"> <li><p>发票号</p><input type="text" name="invoiceModel.invoice_no" value="

Javascript实例教程(5) 在一个表单中设置和检查Cookies

cookie|cookies|javascript|教程 Cookie是一小段由浏览器储存起来帮助识别用户身份的信息.在一个表单中设置和检查Cookies的实现需要两个文件来完成.第一个文件为cookie1.html,这个文件需要有一些机理(下面例子的一个按钮)来检查是否有一个Cookie存在,然后再重定向至表单网页或者文档下载网页.而第二个文件,即表单网页(cookie2.html),也是和重要的因为你将要在上面使用一点点JavaScript来设置Cookie,这个设置是在提交表单之前做的.下

php 在同一个表单中添加和修改

大家写网站的时候可能都会遇到这种情况,就是写一个表单,这个表单是用来添加一篇文章的,我们屁颠屁颠的在后台接收数据,然后存入数据库.现在有个问题.当你要对该文章进行修改的时候,你是怎么处理的? 我的方法是在同一个表单中做文章,下面的例子是我用 Thinkphp框架写的代码,如果你不懂Thinkphp,没有关系,我只是想说说我的解决方案. 前台如果是这样的. 说明,表示提交到article控制器的add方法.进行接收操作. 就是这样一个简单的表单, 我们在后台直接接收数据. public funct

JavaScript使表单中的内容显示在屏幕上的方法

  本文实例讲述了JavaScript使表单中的内容显示在屏幕上的方法.分享给大家供大家参考.具体实现方法如下: 一.使内容水平出现 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <html> <head> <title>测试</title> <script type="text/javascript"> function to() { var txt=document.getElement

Dreamweaver如何在表单中插入表格

  一.在Dreamweaver在表单中插入表格 1. 点击鼠标,将光标定位在表单框线内部,然后插入表格,和在普通文档中的方法一样.如下图所示: 在"代码"视图中可以查看源代码: 2. 插入表格以后,在表格的单元格中再插入表单的对象或者域标签.如下图所示: 二.提示 在表单中插入表格,能使表单对象和域标签的垂直或水平排列更加整齐.美观. 在表单中插入表格时,一定要注意使所有的 标签都包括在 标签之间.

表单中Readonly和Disabled的区别详解

 这篇文章主要介绍了表单中Readonly和Disabled的区别详解,十分的细致,全面,需要了解相关信息的小伙伴们快来仔细研究下吧     Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等. 但是表单

Dreamweaver在表单中插入表格

  一.在Dreamweaver在表单中插入表格 1. 点击鼠标,将光标定位在表单框线内部,然后插入表格,和在普通文档中的方法一样.如下图所示: 在"代码"视图中可以查看源代码: 2. 插入表格以后,在表格的单元格中再插入表单的对象或者域标签.如下图所示: 二.提示 在表单中插入表格,能使表单对象和域标签的垂直或水平排列更加整齐.美观. 在表单中插入表格时,一定要注意使所有的 标签都包括在 标签之间.

php获取表单中多个同名input元素的值

 这篇文章主要介绍了php获取表单中多个同名元素值的方法 ,需要的朋友可以参考下 有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本.    前台页面的表单中会有多个input元素,如下:  代码如下: <form action="a.php">  <input type="text" name="books[]"/>  <input type="text&q