For input string: ""

java.lang.NumberFormatException: For input string: ""
	java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	java.lang.Long.parseLong(Long.java:601)
	java.lang.Long.<init>(Long.java:965)
	cn.wolfcode.bms.servlet.BookServlet.inputOrUpdate(BookServlet.java:72)
	cn.wolfcode.bms.servlet.BookServlet.service(BookServlet.java:31)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

id != null && !id.equals("")

字符串转含有非法字符,无法转换为整形,把代码贴出来看看。

String id = req.getParameter("id"); 改为String id = req.getParameter("id").trim();

//打印id的值看看。

String sn = req.getParameter("sn");

String name = req.getParameter("name");

String author = req.getParameter("author");

String price = req.getParameter("price");

String dirId = req.getParameter("dirId");

if (id!= null && id != ""){

book.setId(new Long(id)); //这里报错

}

if (id!= null && id != ""){
    // 是这里报出来的,你最好通过 StrUtil.isBlank() 工具类来判断
    // 我使用的是 hutool 的工具包
    book.setId(new Long(id));
}

 

package cn.wolfcode.bms.servlet;

import cn.wolfcode.bms.domain.Book;
import cn.wolfcode.bms.domain.Directory;
import cn.wolfcode.bms.mapper.BookMapper;
import cn.wolfcode.bms.service.IBookService;
import cn.wolfcode.bms.service.impl.BookServiceImpl;
import com.sun.net.httpserver.HttpServer;

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 java.io.IOException;
import java.math.BigDecimal;
import java.util.List;

@WebServlet("/book")
public class BookServlet extends HttpServlet {
    private IBookService bookService = new BookServiceImpl();
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String cmd = req.getParameter("cmd");
        if ("list".equals(cmd)){
            list(req, resp);
        }else if ("input".equals(cmd)){
            input(req, resp);

        }else if ("inputOrUpdate".equals(cmd)){
            inputOrUpdate(req, resp);

        }else if ("delete".equals(cmd)){
            delete(req, resp);

        }
    }
    protected void list(HttpServletRequest req, HttpServletResponse resp){
        try {
            List<Book> bookList =bookService.selectAll();
            req.setAttribute("bookList",bookList);
            req.getRequestDispatcher("/WEB-INF/views/book/list.jsp").forward(req,resp);
        }  catch (Exception e) {
            e.printStackTrace();
        }
    }



    protected void input(HttpServletRequest req, HttpServletResponse resp){

        try {
            String id = req.getParameter("id");
            if (id != null){
                Book book = bookService.selectOne(new Long(id));
                req.setAttribute("book",book);
            }
            req.getRequestDispatcher("/WEB-INF/views/book/input.jsp").forward(req,resp);

        }  catch (Exception e) {
            e.printStackTrace();
        }
    }

    protected void inputOrUpdate(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Book book = new Book();
        String id = req.getParameter("id");
        String sn = req.getParameter("sn");
        String name = req.getParameter("name");
        String author = req.getParameter("author");
        String price = req.getParameter("price");
        String dirId = req.getParameter("dirId");
        if (id!= null && id != ""){
            book.setId(new Long(id));
        }
        book.setSn(sn);
        book.setName(name);
        book.setAuthor(author);
        book.setPrice(new BigDecimal(price));
        book.setDirId(new Long(dirId));

        if(id != null && !"".equals(id)){
            bookService.update(book);
        }else {
            bookService.insert(book);
        }
        resp.sendRedirect("/book?cmd=list");
    }
    protected void delete(HttpServletRequest req, HttpServletResponse resp){
        try {String id = req.getParameter("id");
            bookService.delete(new Long(id));
            resp.sendRedirect("/book?cmd=list");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

 

Id为空了

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y