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。
java.lang.NullPointerException
但是当我删除它时工作正常:
enctype="multipart/form-data"
那么为什么需要添加它?只是保持它。
如果需要它以便上载<input type="file">要稍后添加的文件,则应@MultipartConfig在Servlet上添加注释,这样便request.getParameter()可以正常工作,并且可以通过检索所有上载的文件request.getPart()。
<input type="file">
@MultipartConfig
request.getParameter()
request.getPart()
@WebServlet("/Relay") @MultipartConfig public class Relay extends HttpServlet { // ... }