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

如何在embbedtomcat-JavaEE上部署web应用

卫烨烁
2023-03-14

我想在tomcat Embbed服务器上部署一个web应用,我从maven:My rest endpoint:

@Path("/test")
public class RestTestController {

@GET
public String doNothing(){
    return "A";
}
}

和maven设置:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8080</port>
                <path>/</path>
            </configuration>
        </plugin>
    </plugins>
</build>

执行mvn clean install和之后的mvn tomcat7:run后,我收到war tomcat已启动的消息,但当我输入localhost:8080/test时,我不断收到404 Not Fount Http响应。我可能做错了什么?我应该在网络中添加一些映射吗。xml?

tomcat上的日志显示我确实部署了我的应用程序:

[INFO] ---------------------< pl.wachkar:take-restaurant >---------------------
[INFO] Building take-restaurant 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] >>> tomcat7-maven-plugin:2.2:run (default-cli) > process-classes @ take-restaurant >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ take-restaurant ---
(...)
[INFO] --- tomcat7-maven-plugin:2.2:run (default-cli) @ take-restaurant ---
[INFO] Running war on http://localhost:8080/

@EDIT清空web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

</web-app>

共有2个答案

凤凡
2023-03-14

我认为你在浏览器中输入了错误的url(可能不完整)。不用网络。xml您应该创建一个扩展应用程序的类类,并通过@ApplicationPath(“anyString”)对其进行注释,例如:

  import javax.ws.rs.core.Application;

     @ApplicationPath("myWebservice")
     public class MyConfig extends Application{

    }

你不需要实现任何方法,它工作得很好。这个类可以在任何包中。要测试正确的url:

localhost:port/contextpath/string1/string2

string1是您在应用程序注释(这里是myWebservice)中指定的内容string2是您在资源类(在您的案例测试中)的路径注释中指定的内容

localhost:8080/contextpath/myWebservice/test
常波
2023-03-14

你的web.xml是什么样子的?你至少需要一个欢迎文件列表,以便tomcat知道在启动时服务哪个文件

例如:

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>
 类似资料:
  • 我已经从https://www.tutorialspoint.com/reactjs/reactjsjsx.htm创建了一个基本的React应用程序。这里,我想在基于Apache的服务器上运行这个测试代码,我知道我需要创建一个可分发的构建,但我不知道如何做到这一点,也找不到清晰的说明。 我在Apache服务器上看到过这篇文章React,js,但它没有什么更多的指导方针

  • 我试图使用FTP在Azure Web应用程序服务上部署战争文件。但我没有看到webapps文件夹下的站点/www. root在许多教程中提到。我选择了网络服务器作为tomcat。我看到旧portal.when教程我从新门户创建它,我没有看到webapps文件夹

  • 我是云提供商的初学者,我有一个网站要部署。该网站使用PHP、HTML、CSS和Javascript创建,并使用在NodeJS上开发的API访问数据库。 有没有办法在一个AWS弹性豆茎应用程序上部署所有这些(Inteface+NodeJS API)?或者我应该只在AWS Elastic Beanstalk上部署API,而将网站的界面与其他AWS解决方案一起部署,例如Amazon S3上的静态网站。

  • 我想在服务器上部署一个spring mvc中的Java web app build。我使用的是MilesWeb服务器。在尝试将应用程序部署到服务器后,我收到了以下异常日志,描述如下:“服务器遇到内部错误,导致无法满足此请求”。我需要帮助来找出我做错了什么。 你可以检查这个链接后,点击提交我得到上面的错误

  • 当一个 Web 应用程序部署到容器中,在 Web 应用程序开始处理客户端请求之前,必须按照下述步骤顺序执行。 实例化部署描述文件中<listener>元素标识的每个事件监听器的一个实例。 对于已实例化的实现了 ServletContextListener 接口的监听器实例,调用 contextInitialized() 方法。 实例化部署描述文件中<filter>元素标识的每个过滤器的一个实例,并

  • 问题内容: 我已经创建了Spring Boot Web应用程序,但是无法在tomcat上部署Spring Boot Web应用程序WAR文件,并且能够将其作为Java应用程序运行。如何在tomcat上将Spring Boot应用程序作为Web服务运行 我正在使用以下代码。如果可以在tomcat plz上运行,请帮助我使用批注而不使用web.xml和web.xml。 以下代码用于休息控制器 我正在使