java中怎么输出html文件

html-css019

java中怎么输出html文件,第1张

可以用:File f_html = new File("Login.html")

f_html.createNewFile()

要想生成html页面的话,容器会替我们直接把jsp编译成servlet输出成html静态页面进行展示。

你要像手动输出html的展示内容可以自己写一个servlet,使用output方法输出html标签代码段直接打印到客户端。

还有如果你想写入html文件的话,你可以通过fileinput字节写入。(这种写法servlet教程上很多实例,包括如何生成文件,如何通过字节或者字符流的形式写入和保存)

不是很明白你的需求。

这么说吧,要想生成html页面的话,容器会替我们直接把jsp编译成servlet输出成html静态页面进行展示。

你要像手动输出html的展示内容可以自己写一个servlet,使用output方法输出html标签代码段直接打印到客户端。

还有如果你想写入html文件的话,你可以通过fileinput字节写入。(这种写法servlet教程上很多实例,包括如何生成文件,如何通过字节或者字符流的形式写入和保存)

那么你问的是哪一种呢?

@RequestMapping("download")

public void exportWord( HttpServletRequest request, HttpServletResponse response)

throws Exception {

User user = AppContext.getLoginUser()

Student student = studentSvc.findByUserId(user.getId())

try {

//word内容

String content="<html><body></body></html>"

byte b[] = content.getBytes("utf-8") //这里是必须要设置编码的,不然导出中文就会乱码。

ByteArrayInputStream bais = new ByteArrayInputStream(b)//将字节数组包装到流中

/*

* 关键地方

* 生成word格式

*/

POIFSFileSystem poifs = new POIFSFileSystem()

DirectoryEntry directory = poifs.getRoot()

DocumentEntry documentEntry = directory.createDocument("WordDocument", bais)

//输出文件

String fileName="实习考核鉴定表"

request.setCharacterEncoding("utf-8")

response.setContentType("application/msword")//导出word格式

response.addHeader("Content-Disposition", "attachmentfilename=" +

new String( (fileName + ".doc").getBytes(),

"iso-8859-1"))

OutputStream ostream = response.getOutputStream()

poifs.writeFilesystem(ostream)

bais.close()

ostream.close()

}catch(Exception e){

AppUtils.logError("导出出错:%s", e.getMessage())

}

}