麻烦老师看一下错误出现再哪里了?
来源:3-5 商品管理上架
散落满天的回忆
2020-05-19 21:02:47
package com.imooc.book.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.imooc.book.biz.BookBiz;
import com.imooc.book.biz.BookImp;
import com.imooc.book.biz.CategoryBiz;
import com.imooc.book.biz.CategoryImp;
import com.imooc.book.entity.Book;
import com.imooc.book.entity.Category;
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 javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class BookController {
private BookBiz bookBiz=new BookImp();
private CategoryBiz categoryBiz=new CategoryImp();
// admin/Book/add.do
public void toAdd(HttpServletRequest request, HttpServletResponse response){
List<Category> list=categoryBiz.select();
request.setAttribute("categorylist",list);
try {
request.getRequestDispatcher("/WEB-INF/page/admin/add_book.jsp").forward(request,response);
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void add(HttpServletRequest request, HttpServletResponse response) throws FileUploadException {
System.out.println("i");
List<Book> list= new ArrayList();
Book book=null;
FileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
List<FileItem> fileItemList=upload.parseRequest(request);
int i=0;
System.out.println(i);
for(FileItem fileItem:fileItemList){
if (fileItem.isFormField()){
if (fileItem.getFieldName().equals("name")){
try {
book.setName(fileItem.getString("UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
if (fileItem.getFieldName().equals("categoryId")){
try {
book.setCategoryId(Integer.parseInt(fileItem.getString("UTF-8")));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
if (fileItem.getFieldName().equals("level")){
try {
book.setLevel(Integer.parseInt(fileItem.getString("UTF-8")));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
if (fileItem.getFieldName().equals("price")){
try {
book.setPrice(Integer.parseInt(fileItem.getString("UTF-8")));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}else{
if (fileItem.getFieldName().equals("smallImg")){
if (fileItem.getSize()<=100){
continue;
}
String rootpath=request.getServletContext().getRealPath("/");
String path=fileItem.getName();
String type=".jpg";
if (path.indexOf(".")!=.1){
type.substring(path.lastIndexOf("."));
}
path="/download/images/"+System.currentTimeMillis()+type;
try {
fileItem.write(new File(rootpath+path));
book.setImgTath(path);
} catch (Exception e) {
e.printStackTrace();
}
}
}
i++;
if (i%5==0){
book.setCreateTime(new Date());
book.setUpdateTime(new Date());
list.add(book);
}
}
bookBiz.add(list);
try {
response.sendRedirect("list.do");
} catch (IOException e) {
e.printStackTrace();
}
}
// admin/Book/list.do
public void list(HttpServletRequest request, HttpServletResponse response){
String pageNum=request.getParameter("pageNum");
if (pageNum==null){
pageNum="1";
}
PageHelper.startPage(Integer.parseInt(pageNum),20);
List<Book> list = bookBiz.select();
PageInfo pageInfo=PageInfo.of(list);
request.setAttribute("pageInfo",pageInfo);
try {
request.getRequestDispatcher("/WEB-INF/page/admin/book.jsp").forward(request,response);
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.imooc.book.controller.GlobalController.service(GlobalController.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.imooc.book.global.EncodingFilter.doFilter(EncodingFilter.java:24)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at com.imooc.book.controller.BookController.add(BookController.java:55)
... 30 more
2回答
同学你好,java.lang.NullPointerException---》空指针异常,出现原因:如果使用null调用方法,就会报出空指针异常。 同学可以根据报错的具体行数查看一下具体的报错位置,看是哪个数据为null导致的空指针异常:
祝学习愉快~
散落满天的回忆
提问者
2020-05-20
老师是这几行代码出现错误了应该怎么改?
相似问题