我在IntelliJ中创建了一个gradle webapp项目。
我已经设置了Tomcat 8.5.6来执行项目。
在文件webapp/WEB_INF/web.xml
中,我定义了一个servlet
<servlet-mapping>
<servlet>
<servlet-name>RestServlet</servlet-name>
<servlet-class>com.anatoli.customer.service.Home</servlet-class>
</servlet>
</servlet-mapping>
@ApplicationPath("rest")
public class Home extends Application {
}
我有一个简单的java类来显示
@Stateless
@Named
@Path("test")
public class Customer {
@GET @Path("text")
@Produces("text/plain")
public String getText() {
return "Hello World";
}
}
当我运行项目时,尝试拨打http://localhost:8080/rest/test/text - &gt;我收到了404
但如果我运行http://localhost:8080,那么我可以看到webapp-folder中的index.jsp - &gt; tomcat正在运行
我需要在我的JEE7项目中使用注释
答案 0 :(得分:3)
Tomcat是Web容器,而不是应用程序服务器。
所以你的:
@Stateless
什么都不做@Named
也不做任何事情@ApplicationPath("rest")
/ @Path
除非您在应用程序的某个部分或catalina-home/lib
中提供了JAX-RS实施,否则不会执行任何操作(但考虑到您的问题 - 您没有) 您是否考虑过试用Apache TomEE?这是Tomcat + JavaEE spec impl。,所以它应该更适合你
答案 1 :(得分:-1)
转到Intellij的RUN-&gt;编辑配置并在部署部分添加本地TOMCAT和部署战以在本地运行项目。