初始化SmartUpload对象报错

下面是部分代码

package com.itbaizhan.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;

import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import com.itbaizhan.bean.Dingdan;
import com.itbaizhan.bean.Fenlei;
import com.itbaizhan.bean.Gonggao;
import com.itbaizhan.bean.Product;
import com.itbaizhan.bean.User;
import com.itbaizhan.dao.DingdanDao;
import com.itbaizhan.dao.FenleiDao;
import com.itbaizhan.dao.GonggaoDao;
import com.itbaizhan.dao.ProductDao;
import com.itbaizhan.dao.UserDao;
import com.itbaizhan.util.Util;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.http.HttpSession

//上传商品图片操作
                else if("productupdate6".equals(method)){
                    SmartUpload su = new SmartUpload();
                    su.initialize(this.getServletConfig(), request, response);         //这行初始化有错。
                    //限制上传文件的最大长度。
                    su.setMaxFileSize(1500000*8);
                    //设定允许上传的文件(通过扩展名限制)
                    su.setAllowedFilesList("jpg,gif,bmp,JPG,GIF,BMP");
                    String imgpath="";
                    try {
                        // 上传文件
                        su.upload();
                        // 将上传文件全部保存到指定目录
                        com.jspsmart.upload.File file = su.getFiles().getFile(0);
                        if (!file.isMissing())
                        {
                            //将附件以 当前时间+附件扩展名 作为文件名保存        
                            java.text.SimpleDateFormat dateFormatter = new java.text.SimpleDateFormat("yyyyMMddHHmmss");
                            String sNowTime = dateFormatter.format(new java.util.Date());
                            imgpath = sNowTime+"."+ file.getFileExt();
                            file.saveAs("/uploadfile/"+imgpath);
                        }
                    } catch (SmartUploadException e) {
                        e.printStackTrace();
                    }
                    
                    //通过ID获取对象
                    String id = request.getParameter("id");
                    Product bean = productDao.selectBean(" where id= "+id);
                    //更新对象属性
                    bean.setImgpath(imgpath);

                    //更新操作
                    productDao.updateBean(bean);
                    
                    
                    writer.print("<script  language='javascript'>alert('操作成功');window.location.href='"+basePath+"manageServlet/productlist'; </script>");
                }


运行结果及报错内容
严重: 分配异常的servlet [manageServlet]
java.lang.Error: Unresolved compilation problems:
The type javax.servlet.jsp.PageContext cannot be resolved. It is indirectly referenced from required .class files
The method initialize(jakarta.servlet.ServletConfig, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse) in the type SmartUpload is not applicable for the arguments (jakarta.servlet.ServletConfig, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)

百度没看到有使用initialize()方法出错的。The type javax.servlet.jsp.PageContext cannot be resolved. It is indirectly referenced from required .class files,这个看到说要这两个jar包:servlet-api.jar和jsp-api.jar包,这个两个包用的是Tomcat10.0中的。
我该怎样解决