小编典典

在enctype =“ multipart / form-data”请求不起作用之后

jsp

public class Relay extends HttpServlet {
@Override
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String command = request.getParameter(“command”);
RequestDispatcher rd =request.getRequestDispatcher(command);
rd.forward(request, response);
System.out.println(“Request forwarded to ” + command + ” servlet”);
}
}

这是我的中继Servlet,我正在从此表单发送数据

<form action="Relay" method="POST" enctype="multipart/form-data"> /
    <input type="hidden" name="command" value="AddProduct" />
    <input type="text" name="pname" value="" />
    <input name="" type="submit" value="Add Product">
</form>

它抛出一个java.lang.NullPointerException

但是当我删除它时工作正常:

enctype="multipart/form-data"

阅读 338

收藏
2020-06-08

共1个答案

小编典典

那么为什么需要添加它?只是保持它。

如果需要它以便上载<input type="file">要稍后添加的文件,则应@MultipartConfig在Servlet上添加注释,这样便request.getParameter()可以正常工作,并且可以通过检索所有上载的文件request.getPart()

@WebServlet("/Relay")
@MultipartConfig
public class Relay extends HttpServlet {   
    // ...
}
2020-06-08