使用Servlet从数据库中检索Clob数据,并使该数据可在JSP中下载

时间:2013-04-09 08:31:59

标签: jsp servlets download clob

我需要检索一些数据集,其中一个是CLOB数据,可能会获得多行,我需要在JSP页面中显示每一行,并提供下载选项以下载此CLOB数据作为每行的XML文件。

我不知道如何实现这个,下面是我用来检索数据的代码。

List dataList = new ArrayList();

        while(rs.next()){
            RecordData rdata =new RecordData();
            rdata.setId(rs.getInt("OBJID"));    

            aclob = (CLOB)rs.getClob("X_MESSAGE");  
            clob_length = (int)aclob.length();  
            rdata.setMessage(aclob.getSubString(1, clob_length));

            dataList.add(rdata);
        }

request.setAttribute("dataList", dataList);
request.getRequestDispatcher("jsp/displayrecords.jsp").forward(request,response);

1 个答案:

答案 0 :(得分:0)

“需要检索一些数据集,其中一个是CLOB数据,可能会获得多行,我需要在JSP页面中显示每一行,并提供下载选项以将此CLOB数据作为XML文件下载到每个行“。

在上面的代码示例中,您已经解决了上半部分 - 获取数据,在bean中设置并将该bean放入会话中。现在在JSP中迭代它并在表中显示。

对于下载 - 向表和bean添加ID列,每个下载链接将指向下载jsp以及id作为参数。在那个jsp下载文件。我建议在渲染后清除会话中的dataList,因为如果有很多用户或很多行,它将占用JVM上的内存(RAM)