Fileupload 处理表单问题
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>测试</title> </head> <body> <center> <!-- <form action="/Foods/IndexServlet" method="post"> --> <form action="/Foods/IndexServlet" method="post" enctype="multipart/form-data"> <table> <tr> <td>用户名</td> <td> <input type="text" name="username"> </td> </tr> <tr> <td>密码</td> <td> <input type="text" name="password"> </td> </tr> <tr> <td>性别</td> <td> <input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女 </td> </tr> <tr> <td> <input type="submit" value="提交"> <input type="reset" value="重置"> </td> </tr> </table> </form> </center> </body> </html>
package com.imooc.servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; /** * Servlet implementation class IndexServlet */ @WebServlet("/IndexServlet") public class IndexServlet extends HttpServlet { private static final long serialVersionUID = 1L; public IndexServlet() { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory); try { List<FileItem> list = (List<FileItem>)servletFileUpload.parseRequest(request); for(FileItem fileItem : list){ if(fileItem.isFormField()){//普通表单项 String name = fileItem.getFieldName(); String value = fileItem.getString("utf-8"); System.out.println("name:"+name); System.out.println("value:"+value); if(value == ""){ System.out.println("1"); }else if(value == null){ System.out.println("2"); }else{ System.out.println("3"); } } } } catch (FileUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } /*String username = request.getParameter("username"); String password = request.getParameter("password"); String sex = request.getParameter("sex"); System.out.println("username:"+username); System.out.println("password:"+password); System.out.println("sex:"+sex); if(username == ""){ System.out.println("1"); }else if(username == null){ System.out.println("2"); }else{ System.out.println("3"); } if(password == ""){ System.out.println("4"); }else if(password == null){ System.out.println("5"); }else{ System.out.println("6"); }*/ } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } //表单提交问题,使用最基本的表单提交时,如果什么都不填写,直接点击提交,在servlet处理的时候,request.getParameter("username")和request.getparameter("password"),对应的打印值为"",性别选择的打印值为null。而在使用fileupload提交表单时,表单什么也不写,对应的fileItem.getString("UTF-8")打印,既不是""也不是null,麻烦帮忙看一下。
0
收起
正在回答 回答被采纳积分+1
1回答
从网页搭建入门Java Web2018版
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10205 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星