首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

J2ME调Servlet异常java.lang.IllegalStateException: getOutputStream() has already bee

2014-01-26 
java.lang.IllegalStateException: getOutputStream() has already been called for this response 这种异

java.lang.IllegalStateException: getOutputStream() has already been called for this response
这种异常信息在百度里搜索时都能找到,但是对于我遇到的却不是他们的那种情况:
+com.swc.se.controller ---处理来自游览器的控制器类
-com.swc.se.controller.mobile ---处理来自手机的控制器类
+ConsumerLogin.java ---处理来自手机的用户登录判断
程序片段:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 处理来自手机的登录
response.setContentType( "text/html; charset=GBK ");
InputStream is = null;
String name= " ";
String password= " ";
is = request.getInputStream();
DataInputStream dis = new DataInputStream(is);
name=dis.readUTF();
password=dis.readUTF();
// 对接收的参数进行处理
  //下面的Model层的代码跟JSP作为客户端调用的是一样的
ConsumerService consumerService=new ConsumerService();
Consumer consumer=new Consumer();
consumer.setNickname(name);
consumer.setPassword(password);
DataOutputStream dos = null;
ServletOutputStream servletOutputStream=response.getOutputStream();
dos = new DataOutputStream(servletOutputStream);
Boolean isLoginSucc=consumerService.login(consumer);
//如果登录成功的话:
if (isLoginSucc){
System.out.println( "登录成功 ");
dos.writeUTF( "success ");
}
//如果登录失败的话:
else {
System.out.println( "登录失败 ");
dos.writeUTF( "failure ");

}
}

现在遇到的异常信息是:
对于手机那边的是:java.io.EOFException
at java.io.DataInputStream.readFully(+48)
at java.io.DataInputStream.readUTF(+30)
at java.io.DataInputStream.readUTF(DataInputStream.java:522)
at com.swc.se.SeClient.Logic.SeClientLoginThread.run(SeClientLoginThread.java:60)

对于Web服务器这边的是:
2007-3-25 13:33:57 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:599)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:124)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:117)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:191)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:115)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:75)
at org.apache.jsp.error_jsp._jspService(error_jsp.java:139)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:465)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)         

热点排行