javascript - java.io.IOException : write beyond end of stream OR java. lang.IllegalStateException:getOutputStream()已被调用

标签 javascript java weblogic yui yahoo

我不确定为什么会收到此错误。我刚刚使用 yahoo YUI 实现了一个简单的 AJAX 搜索。 注意,我确实写了 getoutputstream 来得到一个错误,然后当我写 printwritter 时,我得到了第一个错误。

java.lang.IllegalStateException: getOutputStream() has already been called!**
        at com.documentum.web.servlet.CompressingResponseWrapper.getWriter(CompressingResponseWrapper.java:119)
        at jsp_servlet._._jspService(__peoplesearch.java:131)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)

java.io.IOException: write beyond end of stream
        at java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:104)
        at java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:72)

雅虎 YUI......

(function() {
    YAHOO.namespace('NameSearch');

    YAHOO.NameSearch = function(element) {

        var ColumnDefs = [
                 {key:"age",label: "Age", sortable:true, resizeable:true},
                 {key:"height", label: "Persons Height", sortable:true, resizeable:true},
                 {key:"name",label: "First Name", sortable:true, resizeable:true}


        ];  

        var personDataSource = new YAHOO.util.DataSource('/nameSearch.jsp?');
        personDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
        personDataSource.responseSchema = {
            resultsList : 'PeopleSearch',
            fields : [ 'age', 'height', 'name' ]
        };


        YAHOO.NameSearch.superclass.constructor.call(this,
                element, ColumnDefs, personDataSource );
    };

    var PersonSearch = YAHOO.NameSearch;
    YAHOO.lang.extend(NameSearch, YAHOO.widget.DataTable, {
        refresh : function(parameters) {
            var successHandler = function() {
                var sortedBy = this.getState().sortedBy;
                this.onDataReturnReplaceRows.apply(this, arguments);

数据......

<%
    String pKey = request.getParameter("PrimaryKey");
    String personAge = request.getParameter("AGE");
    String firstName = request.getParameter("Name");


    List<HashMap<String, Object>> personList = PersonDAO.getPersonDetails(pKey, personAge, firstName);
    response.setContentType("application/json");

    ObjectMapper mapper = new ObjectMapper();
    Map<String, Object> json = new HashMap<String, Object>();
    List<Map<String, Object>> array = new ArrayList<Map<String, Object>>();
    Map<String, Object> node;


    for (int i = 0; i < personList.size(); i++) {
        node = new HashMap<String, Object>();
        HashMap<String, Object> person = personList.get(i);
        {

            node.put("age", (String) person.get("age_key"));
            node.put("height", (String) person.get("height_key"));
            node.put("name", (String) person.get("name_key"));

        }

        array.add(node);

    }

    json.put("PeopleSearch", array);
    mapper.writeValue(response.getOutputStream(), json);
%>      

最佳答案

:DeflaterOutputStream 类不支持异步调用。因此,如果我们想使用异步调用,我们需要在 web xml 中禁用 gzip 过滤器

https://github.com/jhipster/generator-jhipster/issues/854

关于javascript - java.io.IOException : write beyond end of stream OR java. lang.IllegalStateException:getOutputStream()已被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35632475/

相关文章:

javascript - "return false;"表单提交不起作用

javascript - 如何使用 Node require 调用导入的异步函数?

javascript - 如何在单个页面上多次使用音频播放器?

java - com.google.firebase.database.DatabaseException : Can't convert object of type java. lang.String 要输入

php - 关于 PHP 和 Magento 验证的一般 MVC 问题

javascript - 使用 Jest 运行 Puppeteer 测试时如何增加导航超时

java - Eclipse 提供了 Java API 浏览功能,但是如何在 Java API 中搜索类名或成员名呢?

java - 检查对象是否是 protected 类的实例

java - Spring Boot应用程序无法连接到Weblogic

java - Weblogic 10.3 托管服务器共享内存对象