当前位置: 首页 > 知识库问答 >
问题:

URL无法找到web应用程序上下文-Java Enterprise Beans-Wildfly

彭琛
2023-03-14

我有一个与RESTful服务和MySQL数据库相结合的EJB应用程序。我想在我的Wildfly服务器上部署这个应用程序。我已经配置了一切,到目前为止,当我想通过Wildfly服务器上的Eclipse启动应用程序时,没有任何错误。问题是我不能通过浏览器访问重新源码--我想在浏览器中调用http://localhost:8080/rest-ejb-articleservice/v1/articles来访问我的重新源码,但我得到了404。似乎应用程序没有在我的WebServer上发布。

下面是我启动应用程序时的输出摘录:

我通过右键单击Project-Run on Server来启动应用程序(Wildfly正在正确运行)

java:global/moviewebservice/articleresourceEJB!com.dev.ejbwebservice.articleresourceEJB>java:app/moviewebservice/articleresourceEJB!com.dev.ejbwebservice.articleresourceEJB java:module/articleresourceEJB!com.dev.ejbwebservice/articleresourceEJB

19:08:34,633信息[org.Hibernate.version](ServerService线程池--62)HHH000412:Hibernate Core{5.1.10.Final}19:08:34,633信息[org.Hibernate.cfg.environment](ServerService线程池--62)HHH000206:Hibernate.properties not found 19:08:34,633信息[org.Hibernate.cfg.environment](ServerService线程池--62)HHH000206:Hibernate.properties not found Nate Commons Annotations{5.0.1.Final}19:08:34,789信息[org.jboss.weld.version](MSC服务线程1-2)Weld-000900:2.4.3(Final)19:08:34,930信息[org.jboss.as.clustering.infinispan](ServerService线程池--63)WFlyClinf0002:从ejb容器启动客户端映射缓存19:08:34,945信息[org.jboss.as.jpa](ServerService线程池--62)WFlyJPA0010:启动持久化单元(2的阶段2)服务(ServerService线程池--62)警告:不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果没有设置explicit选项,则默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序,将verifyServerCertificate属性设置为“false”。您需要通过设置usessl=false来显式禁用SSL,或者设置usessl=true并为服务器证书验证提供truststore。

19:08:35,196警告[org.jboss.jca.core.connectionmanager.Pool.strategy.onepool](ServerService线程池--62)IJ000407:MySqlDS没有可用的延迟登记

但是我希望在教程中有类似的内容,一个链接,我可以看到我的ejb在哪个地址上运行。

下面是我的ejb类:

@Path("/v1/articles")
@Stateless
public class ArticleResourceEJB
{

    @Inject
    private ArticleDAO dao;

    public ArticleResourceEJB()
    {
        System.out.println(ArticleResourceEJB.class.getName() + " created");
    }


    @POST
    @Consumes({"application/xml", "application/json"})
    public void insert(ArticleDTO user)
    {
        System.out.println("insert: " + user);

        dao.createArticle(user.getDescription(), user.getPrice());
    }


    @PUT
    @Consumes("application/xml")
    public void update(ArticleDTO dto)
    {
        System.out.println("update to " + dto);

        dao.update(dto.toArticle());
    }


    @DELETE
    @Path("{id}")
    public void delete(@PathParam("id") int id)
    {
        System.out.println("delete: " + id);

        // TODO
    }


    @GET
    @Produces({"application/xml", "application/json"})
    public List<ArticleDTO> findAll()
    {
        System.out.println("findAll()");

        List<Article> list = dao.findAll();
        List<ArticleDTO> result = ArticleDTO.toArticleDTOList(list);
        System.out.println("size = " + result.size());
        return result;
    }


    @GET
    @Path("{id}")
    @Produces("application/xml")
    public ArticleDTO findById(@PathParam("id") int id) 
    {
        System.out.println("findById(" + id + ")");

        Article article = dao.findById(id);
        return new ArticleDTO(article);
    }
}

共有1个答案

云默
2023-03-14

好像你把上下文名弄错了。我认为您部署的工件的名称(应用程序的名称)是'MoviewWebService',因此url应该类似于localhost:8080/MoviewService/PathtoYourService/PathtoMethod

我不确定它是否一定是.jar,我通常会将可部署工件设置为.war.ear以部署到Wildfly。

 类似资料:
  • 问题内容: 有时,您需要在servlet / JSP /基于的任何内容中构造指向Web应用程序上下文的完整URL 。类似于 **http://server.name:8080/context/** 。Servlet API没有实现此目的的单一方法。 直接的方法是将所有URL组件附加到,例如 我想知道这种选择是否有问题(速度快10倍): 上述两种方法是否 总是会 产生相同的结果? 问题答案: 它称为

  • servlet-context.xml 应用程序上下文. xml 调用方法 堆栈跟踪

  • 我们如何使用Spring Boot在Web应用程序构建的Web应用程序上下文中找到所有bean。我看到了许多从应用程序上下文中获取bean但不从Web应用程序上下文中获取bean的示例。

  • 我正在处理一个Spring Boot应用程序,其中我使用该应用程序公开SOAP WebService。我在Spring boot应用程序中使用Apache CFX framework for SOAP impl。我正在使用基于注释的方法。 我在一个bean中的Spring Boot配置文件中设置应用程序上下文时遇到了问题。下面是我的代码。 配置文件如下所示。 现在我有了bean SOAPproce

  • 我正在尝试找到一种方法来显式指定部署到Glassfish的Web应用程序的上下文路径3.1.2.2但到目前为止我还没有运气。有人能对此提供指导吗?背景如下: 我有一个Web应用程序,它由两个单独的Netbean(7.0)项目组成。第一个是Web服务,称为FOWS。第二个是使用FOWS网络服务的面向用户的Web应用程序。它被称为FooApp。 我最近将glassfish升级到3.1.2.2,希望解决