Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Devaka Cooray
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Knute Snortum
  • Junilu Lacar
  • paul wheaton
Saloon Keepers:
  • Ganesh Patekar
  • Frits Walraven
  • Tim Moores
  • Ron McLeod
  • Carey Brown
Bartenders:
  • Stephan van Hulst
  • salvin francis
  • Tim Holloway

Servlet.service() for servlet jsp threw exception: java.lang.IllegalStateException  RSS feed

 
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
  • Report post to moderator

hi to all,

i am trying to export some data from my project to excel file....while clicking on the icon i am getting the following error.....(i am using jboss with apache clustering on windows 7 in myeclipse ide)

please help me how to solve this issue.....Thanks in advance


Servlet.service() for servlet action threw exception: java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:598) [:6.1.0.Final]
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:199) [:6.1.0.Final]
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125) [:6.1.0.Final]
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118) [:6.1.0.Final]
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:188) [:6.1.0.Final]
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:117) [:6.1.0.Final]
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:76) [:6.1.0.Final]
at org.apache.jsp.pages.MozartCostLoginAdmin_jsp._jspService(MozartCostLoginAdmin_jsp.java:86)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [:6.1.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [:6.1.0.Final]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.1.0.Final]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.1.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.1.0.Final]
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063) [:1.2.7]
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386) [:1.2.7]
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229) [:1.2.7]
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) [:1.2.7]
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) [:1.2.7]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at com.zyom.security.LoginMonitorFilter.doFilter(LoginMonitorFilter.java:67) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:504) [:6.1.0.Final]
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:437) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_13]



here is my jsp file--------->


<%@ page import="com.zyom.webclient.util.MozartCostUtils,java.util.*,com.zyom.struts.form.AtsRegionsForm,com.zyom.struts.form.MapCustomerForm,com.zyom.reuse.util.DateHandler,com.zyom.webclient.util.MozartConstants"%>
<%@ page language="java" pageEncoding="ISO-8859-1"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>



<title>JSP for UserLoginForm form</title>




<script type="text/javascript">
function filter_region(){
var region_id=document.getElementById("regid").value;

window.location="regionCustUserMap.do?method=Select&r="+region_id;

}
function popHelp(fname)
{

window.open(fname,"TopAssblyFileformat","width=400,height=250,top=20,left=40,menubar=0,toolbar=0,status=0,location=0,scrollbars=1,resizable=1,dependent=1");
}

</script>
</head>
<body>

<% if ((MozartCostUtils.isFirefox(request)))
{
%>
<br>
<%} %>
<%
String finditem="";

if(request.getAttribute("finditem")!=null)
finditem=request.getAttribute("finditem").toString();
String finditem1="";

if(request.getAttribute("finditem1")!=null)
finditem1=request.getAttribute("finditem1").toString();
%>
<table>

<tr>
<td nowrap="nowrap" valign="top" class="loggedinlabel" >
Review Sales Regions, Roles Mapped to Regions (Exec, Cust User, ApAdm), Customer related data     <a href="#" onclick="popHelp('ats-form/AtsRegionCustUserMapHelp.jsp')" title="click to get Help" ONMOUSEOVER="this._tip='click to get Help'" >Help</a> <br>
</td>
</tr>
<tr><td> </td></tr>
</table>
<table>
<tr>
<td nowrap="nowrap" class="loggedinlabel" valign="bottom" nowrap="nowrap">
<form method="post" action="regionCustUserMap.do">
<input type="text" class="loggedin" value="<%=finditem %>" name="search">     <input type="hidden" name="method" value="FindCustomer"> <input type="submit" class="loggedinlabel" title="Find By Customer" value="Find Customer">
</form>
</td>
<td nowrap="nowrap" class="loggedinlabel" valign="bottom" nowrap="nowrap">
<form method="post" action="regionCustUserMap.do">
                <input type="text" class="loggedin" value="<%=finditem1%>" name="search1">     <input type="hidden" name="method" value="Find"> <input type="submit" class="loggedinlabel" title="Find By SalesID" value="Find SalesID">
</form>
</td>
</tr></table>
<table>
<html:form action="regionCustUserMap.do">
<tr>
<td nowrap="nowrap" class="loggedinlabel" nowrap="nowrap">
<bean:message key="gloabl.asof" />
</td>
<td nowrap="nowrap" align="left" class="loggedin" nowrap="nowrap">
<%=(DateHandler.getDateInSpecifiedFormat(
new java.util.Date(),
MozartConstants.MOZART_DATE_FORMAT))%>
</td>
<td> </td><td> </td><td> </td>
<td nowrap="nowrap" class="loggedinlabel" >Select SalesRegion:</td>
<td nowrap="nowrap" class="loggedinlabel" nowrap="nowrap">
<html:select styleClass="loggedin" onchange="filter_region()" styleId="regid" property="regid">
<htmlption value="0">ALL</htmlption>
<htmlptions collection="regions_list" property="id" labelProperty="name" ></htmlptions>
</html:select>
   
</td>
</tr>
</html:form>
</table>
<%
String divStyle = "style=\"overflow:auto;height:550;width:1030;\"";
String tBodyStyle = "style=\"overflow:auto;overflow-x:hidden;\"";
if ((MozartCostUtils.isFirefox(request))) {

divStyle = "style=\"overflow:auto;height:550;width:1030;\"";
tBodyStyle = "style=\"overflow:auto;overflow-x:hidden;height:200;\"";
}
%>
<hr size="1" width="100%" noshade>
<table width="100%" height="10">
<tr>
<html:form action="regionCustUserMapXl.do">
<td>
<input alt="Press GO, Then click Export to Excel" name="CVS" class="loggedinlabel"
type="image" value="Export Excel" src="images/xls.gif"
onmouseover="Tip('Press Click Export to Excel')" />
</td>
<td class="loggedinlabel" >

</td>
</html:form>
</tr>
</table>
<html:form action="regionCustUserMap.do">
<div class="autoHeight" style="width:900px;height:1515px;margin-top:10px; margin-bottom:10px;">
<table style="margin-top:0px;" class="tablesorter" border="0" cellpadding="0" cellspacing="1"> <%-- class="tablesorter" --%>
<thead class="ls">

<th nowrap="nowrap">Sales Region</th>
<th width="250">ROLES MAPPED AT REGION LEVEL (ALL EXCEPT SALES ID)</th>
<th nowrap="nowrap" >Customer</th>
<th nowrap="nowrap" >Country</th>
<th nowrap="nowrap" >Sales ID</th>

</thead>

<tbody class="ls1">
<%ArrayList cust_list=(ArrayList)request.getAttribute("cust_list");
for (int i = 0; i < cust_list.size(); i++) {
MapCustomerForm mcf=(MapCustomerForm)cust_list.get(i);%>
<TR class="<% if(i%2==0){%><%=""%><%}else{%><%="odd"%><%}%>">
<td width="148" nowrap="nowrap">
<%=mcf.getRegion()%>
</td>



<td width="408" width="40">

<%=mcf.getUser_names() %>
</td>
<td width="188" nowrap="nowrap">
<%=mcf.getCustomer()%>
</td>
<td width="148" nowrap="nowrap">
<%=mcf.getLocation()%>
</td>
<td width="98" nowrap="nowrap">
<%=mcf.getSalesid()%>
</td>
</tr>
<%} %>
</tbody>
</table></div>

</html:form>
</body>
</html>

Action class-------->

package com.zyom.struts.ats.action;

import java.io.File;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import jxl.Workbook;
import jxl.write.Colour;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;


import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DownloadAction;
import org.apache.struts.actions.DownloadAction.ResourceStreamInfo;
import org.apache.struts.actions.DownloadAction.StreamInfo;

import com.zyom.reuse.util.DateHandler;
import com.zyom.struts.form.CmForm;
import com.zyom.struts.form.DemandFGForm;
import com.zyom.webclient.util.DBHelper;
import com.zyom.webclient.util.AtsHelper;
import com.zyom.webclient.util.DemandSupplyItem;
import com.zyom.webclient.util.MozartCostUtils;
import com.zyom.struts.form.MapCustomerForm;

public class RegionCustUserMapXlAction extends DownloadAction {

protected StreamInfo getStreamInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Date currentDatetime = new Date(System.currentTimeMillis());
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy-HH-mm");

String myDate = formatter.format(currentDatetime);

String myDate1 = formatter.format(currentDatetime);
String fileName = "RegCustUsrMap_"+myDate+".xls";
String contentType = "application/vnd.ms-excel";
ServletContext servletCtx = this.servlet.getServletContext();

try{

String path = servletCtx.getRealPath(fileName);
WritableWorkbook workbook = Workbook.createWorkbook(new File(path));
HttpSession session = request.getSession(true);
List cust_list=new ArrayList();
cust_list=(ArrayList)session.getAttribute("cust_list");

jxl.write.Number num;

Calendar stDate = Calendar.getInstance();
Calendar endDate = Calendar.getInstance();

String temp = "";

SimpleDateFormat formatter1 = new SimpleDateFormat("MMM-dd,yyyy");

WritableSheet sheet = workbook.createSheet("RegCustUsrMap_"+myDate1, 1);
WritableFont arial10font = new WritableFont(WritableFont.ARIAL, 10);
WritableCellFormat arial10format = new WritableCellFormat (arial10font);
// sheet.mergeCells(0,0,2,0);
WritableFont times16font = new WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD, true);
WritableCellFormat times16format = new WritableCellFormat (times16font);
times16format.setAlignment(jxl.format.Alignment.CENTRE);
// times16format.setBackground(Colour.BLUE);
times16format.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.MEDIUM,Colour.BLACK);



WritableFont datafont = new WritableFont(WritableFont.ARIAL , 10);
WritableFont datafont1 = new WritableFont(WritableFont.ARIAL , 10);
WritableFont datafont2 = new WritableFont(WritableFont.ARIAL , 10);

datafont1.setColour(Colour.BLUE);
datafont2.setColour(Colour.RED);
datafont.setColour(Colour.BLACK);
WritableCellFormat dataformat = new WritableCellFormat (datafont2);
WritableCellFormat dataformatApproved = new WritableCellFormat (datafont);
WritableCellFormat dataformatnotApproved = new WritableCellFormat (datafont1);
WritableCellFormat dataformatApproved1 = new WritableCellFormat (datafont);
dataformat.setAlignment(jxl.format.Alignment.LEFT);
dataformatApproved.setAlignment(jxl.format.Alignment.LEFT);
dataformatnotApproved.setAlignment(jxl.format.Alignment.LEFT);
dataformatApproved.setBackground(jxl.format.Colour.YELLOW);
dataformatApproved1.setAlignment(jxl.format.Alignment.LEFT);
dataformatApproved1.setBackground(jxl.format.Colour.BRIGHT_GREEN);
// times16format.setBackground(Colour.BLUE);

dataformatApproved.setBorder(jxl.format.Border.ALL , jxl.format.BorderLineStyle.MEDIUM_DASHED ,Colour.BLACK);
dataformatApproved1.setBorder(jxl.format.Border.ALL , jxl.format.BorderLineStyle.MEDIUM_DASHED ,Colour.BLACK);

Label label = new Label(0, 0, "Region Customer User Map",arial10format);
sheet.addCell(label);
label=new Label(0,2,"As of: ",arial10format);
sheet.addCell(label);
label=new Label(1,2,DateHandler.getTodaysDate(),arial10format);
sheet.addCell(label);

int i=0;
int j=3;

j++;
label = new Label(i, j, "Sales Region" ,times16format);
sheet.addCell(label);
i++;
label = new Label(i, j, "ROLES MAPPED AT REGION LEVEL (ALL EXCEPT SALES ID)" ,times16format);
sheet.addCell(label);
i++;
label = new Label(i, j, "Customer" ,times16format);
sheet.addCell(label);
i++;
label = new Label(i, j, "Country" ,times16format);
sheet.addCell(label);
i++;
label = new Label(i, j, "Sales Id" ,times16format);
sheet.addCell(label);
i++;


while(endDate.after(stDate)){

label = new Label(i, j, formatter1.format(new java.util.Date(stDate.getTimeInMillis())) ,times16format);
sheet.addCell(label);
i++;
stDate.add(Calendar.DATE, 7);
}

for (int count = 0; count < cust_list.size(); count++) {
MapCustomerForm mapCustomerForm=new MapCustomerForm();
mapCustomerForm = (MapCustomerForm) cust_list.get(count);

j++;

i=0;
label = new Label(i, j, mapCustomerForm.getRegion(),arial10format);
sheet.addCell(label);
i++;
label = new Label(i, j, mapCustomerForm.getUser_names(),arial10format);
sheet.addCell(label);
i++;
label = new Label(i, j,mapCustomerForm.getCustomer(),arial10format);
sheet.addCell(label);
i++;
label = new Label(i, j, mapCustomerForm.getLocation(),arial10format);
sheet.addCell(label);
i++;
label = new Label(i, j,mapCustomerForm.getSalesid(),arial10format);
sheet.addCell(label);
i++;

}

j=j+2;

workbook.write();
workbook.close();

}catch(Exception e){

System.out.print(e);
}




response.setHeader("Content-disposition", "attachment;filename="+ fileName );

return new ResourceStreamInfo(contentType, servletCtx, fileName);
}
}




 
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
  • Report post to moderator
Can you avoid posting the same question to more than one forum, please? Just choose the most appropriate. Thanks.

Duplicate of http://www.coderanch.com/t/591561/JSP/java/java-lang-IllegalStateException-getOutputStream-has
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
    Bookmark Topic Watch Topic
  • New Topic
Boost this thread!