创建接口



我正在努力从我们的网站创建API供我们的客户使用。 我已经将项目导出到 eclipse 中的 JAR 文件。在一个单独的测试项目中,我能够从 JAR 调用具有正确功能的某些方法。

当我启动引用javax.servlet.http.HttpRequestServlet的类(TrackingAction)的新对象时,我遇到了问题。 我收到以下错误

The import javax.servlet.http.HttpServletRequest cannot be resolved
The import javax.servlet.http.HttpSession cannot be resolved
HttpSession cannot be resolved to a type
HttpSession cannot be resolved to a type

这是我尝试开始工作的代码:

import com.myproject.api.data.ShipmentDetail;
import com.myproject.api.data.ShipmentSummary;
import com.myproject.api.service.ShipmentService;
import com.myproject.web.project.action.TrackingAction;
public class Main{
    public static void main(String[] args){
        ShipmentSummary shipSum = new ShipmentSummary();
        ShipmentDetail shipDet = new ShipmentDetail();
        TrackingAction trAction = new TrackingAction(); //ERROR COMES FROM THIS LINE
        ShipmentService shipServ = trAction.getShipmentService();
        List<ShipmentSummary> lss = shipServ.getShipmentSummaryByProNumber("101844564");
        List<ShipmentDetail> lsd = shipServ.getShipmentDetail(lss.get(0));
        shipDet = lsd.get(0);
        shipSum = lss.get(0);
        System.out.println("Summary status: " + shipSum.getStatus());
        System.out.println("Detail pickup: " + shipDet.getPickupNumber());
    }
}

我到处找了,找不到可行的解决方案。 我尝试使用类加载器但没有成功。 我已经尝试过OneJar,但它似乎无法正常工作(除非我做错了什么)。

您正在导入企业Java(Servlet等)的类(从API类中)/即使项目本身不是SE,使用来自旨在SE执行的main()方法的类也是错误的。

Java SE 项目没有:

  • javax.servlet.http.HttpServletRequest
  • javax.servlet.http.HttpSession

httpsession、servlet 等可用的唯一方式是当你在使用 tomcat(或其他一些 servlet 容器)的 servlet 中运行此代码时。

重构类以:

  • 将核心 API 逻辑与依赖于 Java EE servlet 的代码分开
  • 重写你的 servlet 方法(例如 doGet() )以引用和使用此 API。
  • 创建一个仅包含您的 API 逻辑的 JAR,您的 Java SE 应用程序和 Java Servlet 会引用该逻辑。

相关内容

  • 没有找到相关文章

最新更新