在maven的web项目中出现HTTP Status 500 - java.lang.NullPointerException报错的时候,可能是存在依赖重复导入的情况。
例如,父项目和子项目的pom.xml中都导入了下面的依赖,则选择其一以来保存即可。例如我们去掉子项目中的依赖,只保留父项目中的依赖。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
空指针异常:

根据报错信息,问题显示为空指针异常,问题出现在GetAllUser类中:
package controller;
import bean.User;
import service.UserService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
public class GetAllUser extends HttpServlet {
private UserService userService;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> list=userService.getAllUsers();
if(list!=null){
request.setAttribute("users",list);
request.getRequestDispatcher("/user/users.jsp").forward(request,response);
}else {
System.out.println("查询用户失败");
}
}
}
观察到16行使用了userService对象,但是在创建对象那里,对象还是显示灰的。
这里发现是与后面学习到的注解发生了混淆。
解决办法:
1、在创建对象时添加注解
2、在对象向后添加new UserService()
重新运行,完美解决!!!!