用jsp链接数据查询显示多条留言内容

问题遇到的现象和发生背景

用jsp链接数据查询显示多条留言内容

运行结果及报错内容

十二月 05, 2022 11:17:10 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [wordServlet] in context with path [/Test] threw exception
java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerConnection cannot be cast to java.sql.Statement
at com.yxq.toolbean.CrudDB.get_History_Message(CrudDB.java:40)
at com.yxq.servlet.WordServlet.doGet(WordServlet.java:33)
at com.yxq.servlet.WordServlet.doPost(WordServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
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)

我想要达到的结果

求大佬帮忙指导一下

package com.yxq.toolbean;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import com.yxq.valuebean.WordSingle;

public class CrudDB {

public static int insertWord(WordSingle word) {
    Connection conn =DBUtil.getConn();
    int i = 0;
    String sql = "insert into tb_word (title,author,coontent) values(?,?,?)";
    PreparedStatement pstmt;
    try {
        pstmt = (PreparedStatement) conn.prepareStatement(sql);
        pstmt.setString(1,word.getTitle());
        pstmt.setString(2, word.getAuthor());
        pstmt.setString(3, word.getContent());
        i = pstmt.executeUpdate();
        pstmt.close();
        conn.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return i;
}
public ArrayList<CrudDB> get_History_Message() {
    Connection conn =DBUtil.getConn();
    WordSingle word=new WordSingle();
    ResultSet rs=null;
    ArrayList<CrudDB> list= new ArrayList<CrudDB>();
    String sql="select * from tb_word ";
    try {
        rs=((Statement) conn).executeQuery(sql);
        while(rs.next()){
            CrudDB crudDB=new CrudDB();
            word.setAuthor( rs.getString("author"));
            word.setTitle(rs.getString("title"));
            word.setContent(rs.getString("coontent"));
            list.add(crudDB);
        }return list;
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return  null;
    }finally{
        
        try {
            rs.close();
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }//关闭数据库释放资源!
    }
        }

public static WordSingle getWord(String author) {
    Connection conn =DBUtil.getConn();
    System.out.println("author:"+author);
    String sql = "select * from tb_word where author = ?";
    PreparedStatement pstmt;
    WordSingle word=new WordSingle();
    String aaString =null;
    String bbString =null;
    String ccString =null;
    try {
     
        pstmt = (PreparedStatement)conn.prepareStatement(sql); 
        pstmt.setString(1,author);
        ResultSet rs = pstmt.executeQuery();
     
        while (rs.next()) {                   
               aaString = rs.getString("author");
               bbString  = rs.getString("title");
               ccString = rs.getString("coontent");
               word.setAuthor( rs.getString("author"));
               word.setTitle(rs.getString("title"));
               word.setContent(rs.getString("coontent"));
           
        }
          
          rs.close();
          pstmt.close();
          conn.close();
          
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return word;
}

}

你的代码报空指针了,贴下你的代码