8 楼

Acaleph

2008-07-03

我的程序,虽然结果出来了,但后台总是抛错:

-------------------------------------------

java.lang.IllegalStateException: STREAM

at org.mortbay.jetty.Response.getWriter(Response.java:585)

at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:17

1)

at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.jav

a:164)

at org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:219)

at org.apache.struts2.components.ActionComponent.end(ActionComponent.jav

a:150)

at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTa

gSupport.java:43)

at org.apache.jsp.Servlet_jsp._jspx_meth_s_action_0(org.apache.jsp.Servl

et_jsp:150)

at org.apache.jsp.Servlet_jsp._jspService(org.apache.jsp.Servlet_jsp:85)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper

.java:373)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:4

70)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487

)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3

62)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav

a:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1

81)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7

26)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192)

at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(Servl

etDispatcherResult.java:141)

at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResul

tSupport.java:178)

at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(Default

ActionInvocation.java:348)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:253)

at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doInte

rcept(DefaultWorkflowInterceptor.java:221)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept

(MethodFilterInterceptor.java:86)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(V

alidationInterceptor.java:150)

at org.apache.struts2.interceptor.validation.AnnotationValidationInterce

ptor.doIntercept(AnnotationValidationInterceptor.java:48)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept

(MethodFilterInterceptor.java:86)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.interc

ept(ConversionErrorInterceptor.java:123)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept

(ParametersInterceptor.java:167)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept

(MethodFilterInterceptor.java:86)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.inter

cept(StaticParametersInterceptor.java:105)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(Checkbox

Interceptor.java:83)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUp

loadInterceptor.java:207)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(

ModelDrivenInterceptor.java:74)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.inte

rcept(ScopedModelDrivenInterceptor.java:127)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at org.apache.struts2.interceptor.ProfilingActivationInterceptor.interce

pt(ProfilingActivationInterceptor.java:107)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.interce

pt(DebuggingInterceptor.java:206)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(Cha

iningInterceptor.java:115)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInt

erceptor.java:143)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(Pr

epareInterceptor.java:121)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept

(MethodFilterInterceptor.java:86)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(Ser

vletConfigInterceptor.java:170)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasI

nterceptor.java:123)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.inter

cept(ExceptionMappingInterceptor.java:176)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(Default

ActionInvocation.java:223)

at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTim

erStack.java:455)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI

nvocation.java:221)

at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.j

ava:50)

at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.jav

a:504)

at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatc

her.java:419)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet

Handler.java:1084)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterIntern

al(CharacterEncodingFilter.java:96)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerR

equestFilter.java:75)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet

Handler.java:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3

60)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav

a:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1

81)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7

26)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand

lerCollection.java:206)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.

java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1

52)

at org.mortbay.jetty.Server.handle(Server.java:324)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:50

5)

at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpCo

nnection.java:828)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja

va:395)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool

.java:450)

----------------------------------------

程序代码

----------------------------------------

package com.easybea.system.action;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Map;

import java.util.Random;

import javax.imageio.ImageIO;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.config.Result;

import org.apache.struts2.config.Results;

import org.apache.struts2.interceptor.ServletRequestAware;

import org.apache.struts2.interceptor.ServletResponseAware;

import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionSupport;

import com.sun.image.codec.jpeg.JPEGCodec;

import com.sun.image.codec.jpeg.JPEGImageEncoder;

@Results(@Result(name = "success", value = "/Servlet.jsp"))

public class SafeImageAction extends ActionSupport implements SessionAware,

ServletRequestAware, ServletResponseAware {

private Map session;

private HttpServletRequest request;

private HttpServletResponse response;

private BufferedImage image;

private ByteArrayOutputStream output;

private InputStream imageStream;

javax.servlet.ServletOutputStream imageOut;

private static final long serialVersionUID = 1L;

private static final String CHARARRAY[] = { "0", "1", "2", "3", "4", "5",

"6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i",

"j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",

"w", "x", "y", "z" };

public SafeImageAction() {

}

public String execute() throws IOException {

response.setContentType("image/jpeg");

response.setHeader("Pragma", "No-cache");

response.setHeader("Cache-Control", "no-cache");

response.setDateHeader("Expires", 0L);

output = new ByteArrayOutputStream();

// HttpSession session = request.getSession();

int width = 60;

int height = 20;

// image = new BufferedImage(width, height, 1);

image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);

Graphics g = image.getGraphics();

Random random = new Random();

g.setColor(getRandColor(200, 250));

g.fillRect(0, 0, width, height);

g.setFont(new Font("Arial", 0, 19));

g.setColor(getRandColor(160, 200));

for (int i = 0; i < 155; i++) {

int x = random.nextInt(width + 100);

int y = random.nextInt(height + 100);

int xl = random.nextInt(10);

int yl = random.nextInt(12);

g.drawOval(x, y, x + xl, y + yl);

}

String sRand = "";

for (int i = 0; i < 4; i++) {

String rand = getRandChar(random.nextInt(36));

sRand = (new StringBuilder()).append(sRand).append(rand).toString();

g.setColor(new Color(20 + random.nextInt(110), 20 + random

.nextInt(110), 20 + random.nextInt(110)));

g.drawString(rand, 13 * i + 6, 16);

}

// session().setAttribute("rand", sRand);

// session.put("rand", sRand);

g.dispose();

try {

ImageIO.write(image, "jpg", output);

} catch (IOException e) {

System.out.println("生成验证码有误: " + e);

}

imageOut = response.getOutputStream();

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(imageOut);

encoder.encode(image);

this.imageStream = new ByteArrayInputStream(output.toByteArray());

output.close();

return SUCCESS;

}

public void setServletResponse(HttpServletResponse response) {

this.response = response;

}

public void setServletRequest(HttpServletRequest request) {

this.request = request;

}

private Color getRandColor(int fc, int bc) {

Random random = new Random();

if (fc > 255) {

fc = 255;

}

if (bc > 255) {

bc = 255;

}

int r = fc + random.nextInt(bc - fc);

int g = fc + random.nextInt(bc - fc);

int b = fc + random.nextInt(bc - fc);

return new Color(r, g, b);

}

private String getRandChar(int randNumber) {

return CHARARRAY[randNumber];

}

public void setSession(Map session) {

this.session = session;

}

public BufferedImage getImage() {

return image;

}

public void setImage(BufferedImage image) {

this.image = image;

}

public javax.servlet.ServletOutputStream getImageOut() {

return imageOut;

}

public void setImageOut(javax.servlet.ServletOutputStream imageOut) {

this.imageOut = imageOut;

}

}

-----------------------------------------

Java中resualtset,@Result type = 'stream相关推荐

  1. inferred type_您最终可以使用var在Java中声明Inferred Type局部变量-这就是为什么它很棒...

    inferred type by javinpaul 由javinpaul 您最终可以使用var在Java中声明Inferred Type局部变量-这就是为什么它很棒 (You can finally ...

  2. Java中 方法引用、Stream流、及方法实例 D190401

    Java中 方法引用.Stream流.及方法实例 D190401 01.第三章:方法引用_什么是方法引用 1).什么是"方法引用":指引用现有的方法代替Lambda表达式--当我们 ...

  3. Java中Lambda表达式和stream的使用

    Java中Lambda表达式和stream的使用 转自 [*https://www.cnblogs.com/franson-2016/p/5593080.html*] 简介 (译者注:虽然看着很先进, ...

  4. 关于struts2 中result type=stream

    struts2中 result="stream",可以实现文件的下载功能. 这里有两篇比较清楚和基础的文章:http://kin111.blog.51cto.com/738881/ ...

  5. Java中resualtset,Java SafeEncoder類代碼示例

    本文整理匯總了Java中redis.clients.util.SafeEncoder類的典型用法代碼示例.如果您正苦於以下問題:Java SafeEncoder類的具體用法?Java SafeEnco ...

  6. Java中的高级“过滤器“Stream流

    Stream流 体验Stream流 创建一个集合,存储多个字符串元素 1.把集合中所有以"张"开头的元素存储到一个新的集合 2.把"张"开头的集合中的长度为3的 ...

  7. resultJP在Java中_java result是如何直接变为对象的

    importjava.sql.*;publicclassGradation{//创建类staticConnectioncon;//声明Connection对象staticStatementsql;// ...

  8. java steam 去重_Java中对List去重 Stream去重的解决方法

    问题 当下互联网技术成熟,越来越多的趋向去中心化.分布式.流计算,使得很多以前在数据库侧做的事情放到了Java端.今天有人问道,如果数据库字段没有索引,那么应该如何根据该字段去重?大家都一致认为用Ja ...

  9. sqltype java_【SQL参考】SQL数据类型与JAVA中type的对应

    标签: 一个db里面的data type和java中的一个type的mapping分为两步: 1.db里面的data type map到jdbc的一个type 2.jdbc的一个type map到ja ...

  10. Java中的数组,java开发面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

最新文章

  1. 服务器送料器显示通讯异常,西门子贴片机常见故障处理思路和方法
  2. 构建轻量级的Table View注意事项[UIKit]
  3. java合集框架第一天
  4. yum 下载全量依赖 rpm 包及离线安装(终极解决方案)
  5. 贝叶斯、先验估计、后验估计、最大似然估计、最大后验估计
  6. JSON.stringify(value[, replacer[, space]])
  7. mysql explicit_defaults_for_timestamp参数
  8. Hadoop HIVE 基本函数
  9. Android图片控件,跟随列表(recyclerView)的上下滚动而同步平移。
  10. 复习webpack4之PWA打包配置
  11. pyqt5 treewidget图标_Python基础之PyQt5写TreeWidget(二)--代码篇
  12. 悟空CRM的环境搭建
  13. 固态硬盘性能下降,造成win10卡顿,及解决方法
  14. 无法打开包括文件: “type_traits”
  15. 数据结构之树(3)——二叉平衡树(AVL)
  16. 如何使用python自动化查四六级成绩
  17. 程序设计基础之C语言计算职工工资
  18. 手机版会员中心html,会员中心.html
  19. Elasticsearch cat Apis
  20. 如何成为不可替代的程序员?掌握这个方法,裁员名单永远没有你

热门文章

  1. ant design pro模板_ant design pro超详细入门教程
  2. NANK南卡降噪耳机和小米蓝牙耳机哪个好?谁更值得入手?
  3. autoucad2014激活就未响应_CAD2014激活错误怎么办,autocad2014激活错误的解决办法
  4. cs1.6修改服务器参数设置,cs1.6比赛服务器设置参数
  5. 学会这招,从此解决被知乎封号烦恼
  6. (转)JS事件循环和宏任务和微任务
  7. c语言地心坐标转当地水平坐标,中国2000坐标系与地心参心坐标系转换实现
  8. Vue 项目(网站应用)接入QQ互联qq登录接口 汇总
  9. 禁用hiberfil.sys文件
  10. 中兴通讯携MF30打造高速无线网络