首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

MyEclipse 導入 SmartUpload 報「The import org.lxh cannot be resolved」解決全流程

     編輯:程式設計綜合問答

新手常見問題:把 smartupload.jar 放進 WEB-INF/lib,JSP 頁面寫 <%@ page import="org.lxh.smart.*" %> 卻報紅「The import org.lxh cannot be resolved」。

根本原因

  1. 包名不匹配:SmartUpload 官方包名是 com.jspsmart.upload,不是 org.lxh.smart。你可能下載了某個教程修改版,或者教程寫錯了。
  2. JAR 未生效:MyEclipse 需刷新項目、重啟構建、或手動加入 Build Path。
  3. 部署未發布:JAR 必須在 WEB-INF/lib 下,且項目發布到 Tomcat 後該目錄隨之複製到 wtpwebapps/項目名/WEB-INF/lib。

標準解決步驟

  1. 下載官方 cos.jar(包含 SmartUpload)或 smartupload.jar(SourceForge 官方)
  2. 複製到 WebRoot/WEB-INF/lib/(或 src/main/webapp/WEB-INF/lib/ Maven 結構)
  3. 項目右鍵 → Refresh(F5)
  4. 項目右鍵 → Build Path → Configure Build Path → Libraries → Add JARs → 選中該 JAR → Apply and Close
  5. JSP 導入包名改為:<%@ page import="com.jspsmart.upload.*" %>
  6. 清理 Tomcat:Servers 視圖 → Tomcat → Clean → Clean Tomcat Work Directory
  7. 重新發布啟動

代碼模板

<%@ page import="com.jspsmart.upload.*" %>
<%
    SmartUpload su = new SmartUpload();
    su.initialize(pageContext);
    su.setMaxFileSize(10 * 1024 * 1024); // 10MB
    su.setAllowedFilesList("jpg,jpeg,png,gif,pdf,doc,xls");
    su.setDeniedFilesList("exe,bat,sh,jsp,php,asp");
    try {
        su.upload();
        int count = su.save("/upload"); // 相對路徑,需確保目錄可寫
        out.println("上傳成功 " + count + " 個文件");
    } catch (Exception e) {
        e.printStackTrace();
        out.println("上傳失敗: " + e.getMessage());
    }
%>

現代替代方案

SmartUpload 最後更新在 2005 年,**強烈建議改用** :

  • Apache Commons FileUpload + Commons IO(Spring MVC 內置支持)
  • Spring WebMultipartResolver(Spring Boot 一行配置)
  • Servlet 3.0+ 原生 @MultipartConfig + request.getPart()

新項目無理由繼續用 20 年前的組件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved