当然可以在jsp页面上写上image标签 <img src="ImageServlet?id=1"> 这种方式,ImageServlet是一个自己写的servlet(或者用jsp也可以),后面的id对应数据库中的主键key,
然后在servlet中获取id,并将对应的blob字段查询出来,按照流的方式输出就可以了。
然后在servlet中获取id,并将对应的blob字段查询出来,按照流的方式输出就可以了。
解决方案 »
- 一个算法问题
- 郁闷之极!通宵达旦也未能解决!请大家帮忙
- 急!!!!!!!!!!!有关Java实现调用编译器的问题,请高手大侠赐教啊!!!谢谢了!!
- 循环读取hashtable的key和value(在线等)
- applet遮住JAVASCRIPT写的弹出式菜单,以致菜单无法正确显示,怎么办???????
- 简单问题,怎样退出一个方法
- HibernateOperations saveOrUpdate(entity) 不能触发SQL语句
- Java的第一个错误,求救!
- 如何在java中动态生成一个.jpg文件
- 精通RMI请进。
- 急:求助java按序列编号排序(如1.2 ,1.11)
- hashtable 一个键多个值 getValue()
<image></image>
这跟ifream也没什么区别啊?
这跟ifream也没什么区别啊?
怎么能说跟iframe没有区别呢,iframe那是多个页面,这是一个页面。你如果是说希望在一个request中完成,那我只能告诉你那是不可能的。如果有这种想法,那只能说明你对http协议都还没有理解。
怎么能说跟iframe没有区别呢,iframe那是多个页面,这是一个页面。你如果是说希望在一个request中完成,那我只能告诉你那是不可能的。如果有这种想法,那只能说明你对http协议都还没有理解。表达的有问题啊。我在action层传了10个图片对象到jsp我怎么可以显示出这些图片呢?
怎么能说跟iframe没有区别呢,iframe那是多个页面,这是一个页面。你如果是说希望在一个request中完成,那我只能告诉你那是不可能的。如果有这种想法,那只能说明你对http协议都还没有理解。表达的有问题啊。我在action层传了10个图片对象到jsp我怎么可以显示出这些图片呢?已经跟你说了,你传图片对象(也就是blob)到jsp中是不行的,图片与jsp是对应两个request,明白了吗?你的意思还是希望在一个request中实现。你应该这样实现,将图片的id从action传入jsp,然后在jsp中用10个img标签,里面的src对应同一个servlet,id属性不一样。
然后再在servlet中获取图片对象。
不知道我有没有说明白。
你希望在一个request中既输出html,又输出jpg图片,这是不可实现的。
base64转换只能是将字节与字符进行互换,可以在有些情况下方便网络传输(以字符的方式传输字节),但是在这里并不适用。
怎么能说跟iframe没有区别呢,iframe那是多个页面,这是一个页面。你如果是说希望在一个request中完成,那我只能告诉你那是不可能的。如果有这种想法,那只能说明你对http协议都还没有理解。表达的有问题啊。我在action层传了10个图片对象到jsp我怎么可以显示出这些图片呢?已经跟你说了,你传图片对象(也就是blob)到jsp中是不行的,图片与jsp是对应两个request,明白了吗?你的意思还是希望在一个request中实现。你应该这样实现,将图片的id从action传入jsp,然后在jsp中用10个img标签,里面的src对应同一个servlet,id属性不一样。
然后再在servlet中获取图片对象。
不知道我有没有说明白。
你希望在一个request中既输出html,又输出jpg图片,这是不可实现的。
明白了我总觉得调用一个servlet很慢的感觉。要是能直接显示对象就好了。
* 生成文件
* @param base64String base64字符
* @param filePath 文件路径
* @throws IOException
* @return void
*/
public static void generateFile(String base64String, String filePath) throws IOException{
if (base64String == null) {
throw new NullPointerException();
}
// Base64解码
byte[] b = Base64.decodeBase64(base64String);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
// 生成文件
OutputStream out = new FileOutputStream(filePath);
out.write(b);
out.flush();
out.close();
} /**
* 生成文件
* @param base64String base64字符
* @param filePath 文件路径
* @throws IOException
* @return void
*/
public static void generateFile(String base64String, String filePath) throws IOException{
if (base64String == null) {
throw new NullPointerException();
}
// Base64解码
byte[] b = Base64.decodeBase64(base64String);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
// 生成文件
OutputStream out = new FileOutputStream(filePath);
out.write(b);
out.flush();
out.close();
}
把图片生成大的字符串存到数据库,要显示的时候再由字符串转成图片。
* 文件生成base64字符
* @param in 文件输入流
* @throws IOException
* @return String
*/
public static String generateBase64String(InputStream in) throws IOException{
byte[] data = new byte[in.available()];
in.read(data);
in.close();
// 对字节数组Base64编码
return Base64.encodeBase64String(data);
} /**
* 生成文件
* @param base64String base64字符
* @param filePath 文件路径
* @throws IOException
* @return void
*/
public static void generateFile(String base64String, String filePath) throws IOException{
if (base64String == null) {
throw new NullPointerException();
}
// Base64解码
byte[] b = Base64.decodeBase64(base64String);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
// 生成文件
OutputStream out = new FileOutputStream(filePath);
out.write(b);
out.flush();
out.close();
}
把图片生成大的字符串存到数据库,要显示的时候再由字符串转成图片。...
* 文件生成base64字符
* @param in 文件输入流
* @throws IOException
* @return String
*/
public static String generateBase64String(InputStream in) throws IOException{
byte[] data = new byte[in.available()];
in.read(data);
in.close();
// 对字节数组Base64编码
return Base64.encodeBase64String(data);
} /**
* 生成文件
* @param base64String base64字符
* @param filePath 文件路径
* @throws IOException
* @return void
*/
public static void generateFile(String base64String, String filePath) throws IOException{
if (base64String == null) {
throw new NullPointerException();
}
// Base64解码
byte[] b = Base64.decodeBase64(base64String);
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {// 调整异常数据
b[i] += 256;
}
}
// 生成文件
OutputStream out = new FileOutputStream(filePath);
out.write(b);
out.flush();
out.close();
}
把图片生成大的字符串存到数据库,要显示的时候再由字符串转成图片。...
那你页面上怎么写呢?