java - 为什么我得到 "Error 500: java.lang.NullPointerException"java servlet

标签 java html file servlets upload

我正在尝试将文件从我的 html 页面上传到我的 servlet 端代码并将其存储在数组列表中

这是我的 html:

<pre>
<!DOCTYPE HTML>
<html>
<head>
<title>file upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="url to my servlet java code" method="post"  ENCTYPE="multipart/form-data">
<input type="file" value="browse..."/>
<br/>
<input type="submit" value="Upload File" />
</form>
</body>
</html>
</pre>

。 .

。 .

这是我的 servlet 页面的 doGet() 方法中的内容

Part p1 = request.getPart("textfile.txt");
Scanner in = new Scanner(p1.getInputStream());
ArrayList<String> newList = new ArrayList<String>();
while(in.hasNextLine()){
     newList.add(in.nextLine());
}
Collections.shuffle(newList);

因此,一旦我选择所需的文本文件并点击上传,我就会收到 nullpointerexception 错误。

帮忙?

最佳答案

因为当用户到达页面时,这是一个 GET 操作,因此根本不需要向页面提供任何数据。但您假设在代码中 getPart 未返回 null。然而,getPart 被明确定义为返回 null if "...此请求的类型为 multipart/form-data,但不包含请求的 Part ." (ref)。

您的表单被定义为使用 POST,因此您希望在 doPost 中处理它。函数,不是你的doGet功能。

关于java - 为什么我得到 "Error 500: java.lang.NullPointerException"java servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9268987/

相关文章:

Java (Eclipse) - 条件编译

html - 导航在一个特定页面中的移动 View 宽度不同

html - 悬停时显示表格行边框

html - 在 div 中垂直居中文本

python - 将某些文件从一个目录移动到另一个目录 - Python

node.js - 模块初始化错误 : Error at Object. fs.openSync (fs.js :646:18) at Object. fs.readFileSync (fs.js:551:33)

javascript - 如何将使用 Node js 和 Multer 保存在文件系统上的文件返回到 Angular 前端?

java - OpenShift 在线 - 构建时内存不足

java - 如何使用 IntelliJ IDEA 14 开发使用 Maven 和 Tycho 构建的 OSGi 应用程序?

java - 当图像的 HSB 值更改时,BufferedImage 不会保持透明度