2017-01-31 57 views
0

我尝试在表中插入一些信息,但得到这样的错误(NullPointerException)。也许它是空请求的原因,但我不确定。StandardWrapperValve [web.dbServlet]:Servlet.service()用于servlet web.dbServlet抛出异常java.lang.NullPointerException

这里是一个日志,错误: enter image description here

第一个servlet:

@WebServlet("/clientServlet") 
public class clientServlet extends HttpServlet { 
private static final long serialVersionUID = 1L; 

protected void doGet(HttpServletRequest request, 
        HttpServletResponse response) 
     throws ServletException, IOException { 

    Client client = new Client(); 
    client.setName(request.getParameter("name")); 
    client.setSurname(request.getParameter("surname")); 
    HttpSession session = request.getSession(); 
    session.setAttribute(sessionKey.client, client); 
    response.sendRedirect("addTour.html"); 

} 

第二个:

@WebServlet("/tourServlet") 
public class tourServlet extends HttpServlet{ 

private static final long serialVersionUID = 1L; 

@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    HttpSession session = request.getSession(); 

    Tour tour = new Tour(); 
    tour.setCountryTo(request.getParameter("countryTo")); 
    tour.setAmountOfDays(request.getParameter("amountOfDays")); 
    session.setAttribute(sessionKey.tour, tour); 
    response.sendRedirect("final.jsp"); 
} 

问题出现在该Servlet的:

@WebServlet("/dbServlet") 
public class dbServlet extends HttpServlet { 
private static final long serialVersionUID = 1L; 

public dbServlet() { 
    super(); 
} 

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    try { 
     IRepositoryCatalog catalog = new RepositoryCatalog("jdbc:hsqldb:hsql://localhost/workdb"); 
     HttpSession session = request.getSession(); 
     Client client = (Client) session.getAttribute(sessionKey.client); 
     Tour tour = (Tour) session.getAttribute(sessionKey.tour); 
     catalog.Clients().add(client); 
     catalog.saveAndClose(); 

     catalog.Tours().add(tour); 
     catalog.saveAndClose(); 
     catalog.saveAndClose(); 

    } catch (SQLException e) { 
     e.printStackTrace(); 
    } catch (ClassNotFoundException a) { 
     a.printStackTrace();  
} 
} 

回答

0

第一印象我可以说,也许第一个和第二个servlet是用于POST方法,所以做一个doGet并尝试'getParameter'你会得到空对象,所以抛出一个NullPointerException。你能发表一些关于你的观点吗? (我会评论,但我还不能)

相关问题