Java 为什么我要使用servlet下载一个没有扩展名的文件?
当我转到servlet时,我正在下载一个没有扩展名的文件 这是doGet方法的代码(这些只是测试行,不要太认真): 我检查了所有的行,一行一行地移除它们,我发现在这行:Java 为什么我要使用servlet下载一个没有扩展名的文件?,java,tomcat,servlets,ascii,Java,Tomcat,Servlets,Ascii,当我转到servlet时,我正在下载一个没有扩展名的文件 这是doGet方法的代码(这些只是测试行,不要太认真): 我检查了所有的行,一行一行地移除它们,我发现在这行: pw.write(11); 这就是11是一个用户id,为了避免每次都检索那个id,我刚刚写了11。servlet开始时不显示页面,而是下载不带扩展名的文件 我检查了ASCII表中的垂直选项卡是否保留了11号。为什么ASCII表中的11代码使浏览器不显示而是下载文件 这就是这个文件的内容: 为什么我要使用servlet下载一
pw.write(11);
这就是11是一个用户id,为了避免每次都检索那个id,我刚刚写了11。servlet开始时不显示页面,而是下载不带扩展名的文件
我检查了ASCII表中的垂直选项卡是否保留了11号。为什么ASCII表中的11代码使浏览器不显示而是下载文件
这就是这个文件的内容:为什么我要使用servlet下载一个没有扩展名的文件 因为您刚刚打开了一个响应流并开始写入它。在俗语中,您只是将一些字节发送回浏览器,但浏览器不知道字节是什么。是html吗?是纯文本吗?这是图像吗?还有别的事吗 因此,在开始编写响应之前,您需要通过设置内容类型来说明该响应是什么。替换您的此代码:
try {
PrintWriter pw = response.getWriter();
....
与:
或者您喜欢的任何内容类型(文本/纯文本也可以用于您正在做的事情)
另见:
try {
PrintWriter pw = response.getWriter();
....
try {
response.setContentType("text/html")
PrintWriter pw = response.getWriter();
....