当前位置: 首页 > 知识库问答 >
问题:

[java.lang.IllegalStateException:已为此响应调用了getOutputStream()]

华煜祺
2023-03-14
<% String email = (String) session.getAttribute("email"); %>
<%
connection = DriverManager.getConnection(connectionUrl+database, userid, password);
String sql ="select resume from signup where email = ?";
ps = connection.prepareStatement(sql);
ps.setString(1,email);
resultSet = ps.executeQuery();
while(resultSet.next()){
    byte [] resumeBytes = resultSet.getBytes("resume");

%>
<!DOCTYPE html>
<html>
<head>
<title>Your Resume</title>
</head>
<body>
<%
    DataOutput dataOutput = new DataOutputStream(response.getOutputStream());
    response.setContentType("application/pdf");
    for(int i = 0; i < resumeBytes.length; i++){
    dataOutput.write(resumeBytes[i]);   
    }
}
%>

共有1个答案

拓拔霄
2023-03-14

我会试着解释我所知道的

您只能将一件事发回请求。或者是HTML页面,或者是PDF文档,或者是图像或者....具体地说,您不能发送HTML页面和PDF文档。如果您已经获得了一个Writer/OutputStream,那么Java会抱怨,因为您应该只获得其中一个Writer/OutputStream。**

我的客人将无法工作,因为您已经发送了一个PDF回浏览器。execute()方法应该返回'null',以告诉Struts不要这样做。

 类似资料: