<%@ page import="java.io.*"%>
<%@ page import="org.textmining.text.extraction.*"%>
<%@ page contentType="application/msword;charset=gb2312"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD><TITLE></TITLE>
        <META http-equiv="Content-Type" content="application/msword; charset=gb2312">
    </HEAD>
<body>
     <%
        response.setContentType("application/msword");
        FileInputStream in = new FileInputStream ("E:\\angel\\1刘桃英\\1刘桃英.doc"); 
        WordExtractor extractor = new WordExtractor(); 
        String str = extractor.extractText(in); 
        out.println(str); 
      %>     
</body>
</html>能读出数据来,但是格式不正确,我加了response.setContentType("application/msword");
还是不行,我查了半天,好象没有这种问题的帖子,大家看看,有没有谁解决过这种问题,帮忙指点一下!

解决方案 »

  1.   

    设置response.setContentType("application/msword");
    表示你的输出内容是一个word文档,不需要使用POI, 直接读取二进制内容输出就行了
    并且你的输出中不能再包括其他的字符,如<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    否则它的内容就不是一个合法的word文档返回二进制内容,一般不要使用jsp,jsp中稍不注意就会输出多余的空格
    直接使用servlet
      

  2.   

    情况是这样的,我在数据库里面存放的是doc文档的路径,我要在jsp页面中按原来的
    格式显示出来,楼上的意思大概是让我以word形式打开吧!
      其实我觉得用poi根本不需要设置response.setContentType("application/msword");
    只是后来实在找不出原因才加上去的,结果还是不行!