当前位置: 代码迷 >> Java Web开发 >> Servlet运行出错,请求诸位帮助!java.lang.NumberFormatException: For input string: "1325446
  详细解决方案

Servlet运行出错,请求诸位帮助!java.lang.NumberFormatException: For input string: "1325446

热度:748   发布时间:2016-04-13 22:15:53.0
Servlet运行出错,请求各位帮助!!!java.lang.NumberFormatException: For input string: "1325446
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.bai.dao.UserDao;
import com.bai.entity.Commodity;
import com.bai.entity.T_User;

public class UserServlet extends HttpServlet {

private UserDao dao = new UserDao();

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletExceptionIOException {
request.setCharacterEncoding("utf-8");
String flag = request.getParameter("flag");
if ("all".equals(flag)) {
showAll(request, response);
} else if ("add".equals(flag)) {
this.addUser(request, response);
} else if ("del".equals(flag)) {
this.delOne(request, response);
} else if ("doModify".equals(flag)) {
this.doModify(request, response);
} else if ("modify".equals(flag)) {
this.modify(request, response);
}
}

/**
 * 显示全部客户
 * 
 * @param request
 * @param response
 * @throws ServletException
 * @throws IOException
 */
private void showAll(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
List<T_User> list = dao.queryAll();
request.setAttribute("list", list);
request.getRequestDispatcher("backstage/Customer-management.jsp")
.forward(request, response);

}

/**
 * 添加客户
 * 
 * @param request
 * @param response
 * @throws ServletException
 * @throws IOException
 */
private void addUser(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 获取信息
int userid = Integer.parseInt(request.getParameter("userid"));
String username = request.getParameter("username");
String gender = request.getParameter("gender");
String email = request.getParameter("email");
int phnum = Integer.parseInt(request.getParameter("phnum"));
dao.add(new T_User(userid, username, gender, email, phnum));
// 跳转到商品类别列表页面
this.showAll(request, response);
}
------解决思路----------------------
字符串转化成整形出错
int userid = Integer.parseInt(request.getParameter("userid"));
int phnum = Integer.parseInt(request.getParameter("phnum"));
这两个应该是至少存在一个取到的值不是全数字,不能转为int
楼主设个断点,先别强转,String userIdStr=request.getParameter("userid");
String phnumStr=request.getParameter("phnum");
这样接收,设置断点看看得到的值是什么

------解决思路----------------------
还有一个可能是电话号码超出了int的存储范围,将int改成long试下
------解决思路----------------------
引用:
把int phnum = Integer.parseInt(request.getParameter("phnum"));改成long phnum = Long.parseLong(request.getParameter("phnum"));后又出新的错误了
严重: Servlet.service() for servlet UserServlet threw exception
java.lang.NoSuchMethodError: com.bai.entity.T_User.getPhnum()I


你修改了后报的错很明显是实体类T_User中没有找到getPhnum()方法,查看一下是否存在相应的get/set该方法,方法的返回值类型是否正确
  相关解决方案