在一个项目中统一 Servlet 项目和 Socket 项目 - 未找到类错误

问题描述 投票:0回答:1

我有3个项目。一个是 Servlet(在动态 Web 项目内制作),另一个是套接字项目(也是动态 Web 项目),最后一个是真正的动态 Web 项目,我想用它来统一其他 2 个项目,并且可以同时上传这两个项目在我的 Apache Tomcat 服务器上(这不是我的想法,是我老板的想法)。

我已使用 eclipse 上的“javabuilt path”选项将 Servlet 和 Socket 项目添加到 Unify 项目中。

我已经在 Eclipse/Tomcat 中运行了 Unify 项目,当我向套接字发出 Telnet 命令时,它起作用了!

但是 Servlet 项目无法正常工作,因为 Tomcat 无法找到 Listener Servlet 类。

我认为问题出在Unify项目的web.xml上

对我来说问题是这一行:

<servlet-class>
   com.ninatec.fnet3.bussiness_servlet.web.ListenerServlet
</servlet-class>

那么,如何从 Unify 项目上的 Servlet 项目引用该类呢?

java sockets servlets
1个回答
0
投票

您需要将该类 (com.ninatec.fnet3.bussiness_servlet.web.ListenerServlet) 放在与 servlet 相同的项目中,因为这就是它的使用位置。

如果由于老板的设计限制而无法做到这一点,那么您要么必须添加其他项目作为 servlet 项目的依赖项;要么添加其他项目作为 servlet 项目的依赖项;将构建的jar文件放在创建的war文件的/lib文件夹中(或使用maven等依赖管理)。或者另一个解决方案是将其添加为 Tomcat 依赖项。当你在 eclipse 中有一个 tomcat 服务器实例时,你可以这样做:

  • 服务器视图
  • 双击 Tomcat 实例
  • 打开启动配置
  • 类路径选项卡
  • 单击用户条目项目
  • 添加项目
  • 选择 com.ninatec.fnet3.bussiness_servlet.web.ListenerServlet 中的项目

但是最后一个解决方案可能是最糟糕的,理想情况下你应该在 servlet 项目中拥有监听器类,因为我怀疑它会在其他地方使用,或者是吗?

© www.soinside.com 2019 - 2024. All rights reserved.