You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSP中DatabaseConnection无法解析问题求助(Eclipse可自动补全)

问题:JSP中DatabaseConnection无法解析,但IDE能自动补全

开发动态Web/Servlet项目时,JSP代码中出现「DatabaseConnection无法解析」的错误,对应位置带有红色下划线。奇怪的是,在Eclipse中输入包名时IDE能自动补全该类,但错误始终无法消除,求解决办法。

数据库连接类代码

package com.connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DatabaseConnection {

            //Creating Connection
            public static Connection connection;
    
            //Creating universal method to open connect will mysql database
            public static Connection getConnection() {
                try {
                    //Registering with mysql Driver
                    Class.forName("com.mysql.jdbc.Driver");
                    connection = DriverManager.getConnection("jdbc:mysql://localhost:3308/shoppingsystem", "root", "Narend-10");
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return (connection);
            }
    
            //Creating universal method to close connect will mysql database
            public static void CloseConnection() {
                if (connection != null) {
                    try {
                        connection.close();
                        connection = null;
                    } catch (SQLException ex) {
                        ex.printStackTrace();
                    }
                }
            }
    
            //Creating universal method to query for retriving information
            public static ResultSet getResultFromSqlQuery(String SqlQueryString) {
                //Creating Resultset object
                ResultSet rs = null;
                try {
                    //Checking whether the connection is null or null
                    if (connection == null) {
                        getConnection();
                    }
                    //Querying the query
                    rs = connection.createStatement().executeQuery(SqlQueryString);
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                return rs;
            }
    
            //Creating universal method to query for inserting or updating information in mysql database
            public static int insertUpdateFromSqlQuery(String SqlQueryString) {
                int i = 2;
                try {
                    //Checking whether the connection is null or null
                    if (connection == null) {
                        getConnection();
                    }
                    //Querying the query
                    i = connection.createStatement().executeUpdate(SqlQueryString);
    
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                return i;
            }
        }
    
    }

}

JSP代码片段

<%
    ResultSet resultOrders=DatabaseConnection.getResultFromSqlQuery("select * from tblorders where order_status='Pending'");
   while (resultOrders.next()) {
         
%>

解决办法

  • 添加JSP类导入
    JSP未显式导入目标类时,即使IDE能识别,运行/编译阶段仍会报错。在JSP文件顶部添加导入语句:

    <%@ page import="com.connection.DatabaseConnection" %>
    <%@ page import="java.sql.ResultSet" %>
    
  • 验证类编译状态
    确认DatabaseConnection.java已编译为.class文件,检查项目build/classes/com/connection/目录下是否存在DatabaseConnection.class;若未编译,右键项目选择「Build Project」手动触发编译。

  • 检查部署装配配置
    右键项目 → 「Properties」→ 「Deployment Assembly」,确保Java Build Path Entries对应的编译输出目录已被包含在部署列表中,保证编译后的类能被服务器加载。

  • 清理重建项目
    执行「Project」→ 「Clean...」清理旧编译文件,之后重新构建项目,再重启服务器测试。

  • 核对大小写一致性
    确认JSP中引用的DatabaseConnection类名、包名与Java类完全一致,Java对大小写敏感,细微差异都会导致解析失败。

内容的提问来源于stack exchange,提问作者achiever17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:23:27