用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;
}
}
你的代码报空指针了,贴下你的代码