Jin_evan 2016-12-10 03:57 采纳率: 100%
浏览 1523
已采纳

java.lang.NumberFormatException

 package foodOnline.servlet;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
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.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import foodOnline.dao.FoodDao;
import foodOnline.dao.impl.FoodDaoImpl;
import foodOnline.entity.Food;
//49行categoryId报错说转换异常,看了老半天也改了还是说错误
public class addServlet extends HttpServlet {


    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
            FileItemFactory factory=new DiskFileItemFactory();
            ServletFileUpload upload=new ServletFileUpload(factory);
            String chineseName=null;
            String englishName=null;
            String description=null;
            String filename=null;

            int categoryId=0;

        try {
            List<FileItem>list=upload.parseRequest(request);
            for(FileItem item:list){
                if(item.isFormField()){
                    if("chineseName".equals(item.getFieldName())){
                        chineseName=item.getString("UTF-8");
                    }else if("englishName".equals(item.getFieldName())){
                        englishName=item.getString("UTF-8");
                    }else if("description".equals(item.getFieldName())){
                        description=item.getString("UTF-8");
                    }else if("categoryId".equals(item.getFieldName())){
                        categoryId = Integer.parseInt(item.getString());
                    }
                }else{
                    String clientFilename=item.getName();
                    String ext = clientFilename.substring(clientFilename
                            .lastIndexOf("."));
                    filename = englishName + ext;
                    ServletContext application=request.getSession().getServletContext();
                    String filepath=application.getRealPath("images/menus/"+filename);
                    item.write(new File(filepath));
                }
            }
            if(chineseName!=null&&englishName!=null&&description!=null&&categoryId!=0){
                Food food=new Food(0,chineseName,englishName,categoryId,description);
                FoodDao fd=new FoodDaoImpl();
                fd.addFoods(food);
                response.sendRedirect("food/admin/foodsListServlet");
            }else{
                request.getRequestDispatcher("error.jsp").forward(request, response);
            }
        } catch (Exception e) {
            e.printStackTrace();
            request.getRequestDispatcher("error.jsp").forward(request, response);

        }

    }

}

然后现在出现新的错误,
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '??…è’???—é??' for key 'ChineseName'

  • 写回答

5条回答 默认 最新

  • 当作看不见 2016-12-10 04:30
    关注

    categoryId = Integer.parseInt(item.getString());
    你把item.getString() 这个东西输出,看一下是不是纯数字的字符串

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序