关于#java#的问题:从数据库读取数据是发生错误信息

从数据库读取数据是发生错误信息,有点错误,一直服务器发生的错误信息,行处理 [/index.jsp] 时发生异常?

img


 
<%@ page import="java.util.List" %>
<%@ page import="com.NewsProject.model.TbNews" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>



"UTF-8">
"pragma" CONTENT="no-cache">
欢迎访问喜迎二十大,庆建团百年网站
<%@include file="../userpublic/indexIncludeFile.jsp"%>


    include page="../userpublic/indexMenu.jsp">include>
    
class="contentDiv" >
class="Section_Content_Left" id="contentDiv">
class="Section_Left_Title">政声
class="Section_Left_NewsList">
class="Section_Left_Title">学习要闻
class="Section_Left_Title">大会内容
class="Section_Content_Right"> include page="../userpublic/indexRightMenu.jsp">include>
include page="../userpublic/indexFooter.jsp">include> package com.NewsProject.controller; import com.NewsProject.dao.DBUtils; import com.NewsProject.model.TbNews; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.util.List; @WebServlet(name = "Index_News", value = "/Index_News") public class Index_News extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String sql="(select * from tb_news where ftypeid=1 order by id desc limit 5) union(select * from tb_news where ftypeid=2 order by id desc limit 5) union(select * from tb_news where ftypeid=3 order by id desc limit 5)"; DBUtils dbUtils=new DBUtils(); List list=(List) dbUtils.executeQueryBeans(sql,TbNews.class); request.setAttribute("listNews",list); request.getRequestDispatcher("home/Index.jsp").forward(request,response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } } package com.NewsProject.model; import java.sql.Timestamp; import java.text.SimpleDateFormat; public class TbNews { int id; String title; String content; String writer; String phoUrl; int ftypeid; Timestamp insertTime; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getWriter() { return writer; } public void setWriter(String writer) { this.writer = writer; } public String getPhoUrl() { return phoUrl; } public void setPhoUrl(String phoUrl) { this.phoUrl = phoUrl; } public int getFtypeid() { return ftypeid; } public void setFtypeid(int ftypeid) { this.ftypeid = ftypeid; } public String getInsertTime(String fm) { if(this.insertTime!=null) { SimpleDateFormat df = new SimpleDateFormat(fm); return df.format(this.insertTime); } return ""; } public void setInsertTime(Timestamp insertTime) { this.insertTime = insertTime; } }

img


错误上说这个为null,那应该是这行代码有问题
List list=(List) dbUtils.executeQueryBeans(sql,TbNews.class);
你在这行代码下,加一个 System.out.println(list);
我看看输出

这里没获取到数据,空指针异常了,看下为什么没获取到数据,拿你的sql直接去数据库查询看能不能查询到数据,或者加个非空判断

if(listNews!=null&&listNews.size()>0){
  for (TbNews tbNews: listNews){.....
}

img