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

REST服务是否需要web.xml?

郝永思
2023-03-14

我对Web的使用有点困惑.xml在Spring编写REST服务时使用泽西岛框架。在我看来,如果我使用注释来定义路径,为什么我们需要web.xml?我最近刚刚使用在线参考文档开发了Spring Boot应用程序,他们甚至没有提到web.xml。那么,说Spring已经删除了web.xml并用注释代替它是对的吗?(例如@Path、@Get、@Post)。我在同一行的第二个问题是,如果我没有web.xml那么将REST服务部署为jar是一种好的做法吗?

共有2个答案

钱俊楚
2023-03-14

Spring Boot有助于简化工作流程。

使用Spring Boot,您可以创建一个jar,而不是war文件作为您的工件。

通常,war文件会部署到需要单独运行的webcontainer中,比如(比如Tomcat)。

Spring Boot实际上将一个嵌入式Tomcat放在您的jar中,以便运行它,所以您不需要在其他地方启动自己的Tomcat/web容器。

您可以像这样运行您的Spring Boot web服务:

java -jar my-spring-boot-application-1.0.0.jar

其中my-spring-boot-application-1 . 0 . 0 . jar是您制作的jar的名称。

常自强
2023-03-14

你是否需要一个网络。xml与否并不取决于Spring,而是取决于您使用的JavaEEServlet规范的版本。

从 Servlet v3.0 开始,不再需要 web.xml,并且 Spring Boot 默认与 Servlet 3 兼容。

不过,有一些技巧可以让它在Servlet 2.5中运行。

 类似资料:
  • 问题内容: 我了解jsonp是一种绕过相同原始政策的技术。基本上,您在脚本标签中引用json服务服务器端点,因为脚本标签不受SO策略的限制。 我的问题是:假设服务器具有一个为json提供服务的终结点,是否需要对服务器进行任何修改才能在客户端中使用jsonp? 我想不,但是想确定。 问题答案: 是的,JSONP呈现时略有不同,因此您的服务器需要支持它。 JSON看起来像这样: JSONP看起来像这样

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • 我目前正在开发一个Android应用程序,我想包括Firebase云消息传递。我计划让树莓派每5分钟左右检查一个网站,并在发生变化时发送推送通知。在官方留档中,他们说我需要一个应用服务器才能通过Firebase发送消息。 这是否意味着我需要让我的Raspi全天候作为服务器运行,并且需要一个静态的IP/域?还是让我的Raspi通过Api(https://fcm.googleapis.com/fcm/

  • 问题内容: 用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。 如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?) 只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义? 问题答案: 当你“运行Flask”时,你实际上是在

  • 关于使用NewSingleThreadExecutor清理executor服务,我有一点困惑。根据它的实现,它在内部创建一个线程池,如果失败,将创建一个新的线程池。我使用singleThreadExecutor,因为我想按顺序运行在运行时创建的任务。所以我关心的是,当系统中没有更多的任务时,我需要关闭这个executor服务吗? 我读到ExecutorService内部的活动线程防止JVM关闭。由

  • 问题内容: 那里的许多示例都主张对数据库事务进行显式回滚,具体方法如下: 但是,我倾向于这样做: 当发生异常时,我只是依靠未提交事务的隐式回滚。 依靠这种隐式行为有什么问题吗?有人有令人信服的理由为什么我不应该这样做吗? 问题答案: 不,它不是特别需要的,但是我可以想到两个可能是个好主意的原因: 明晰 有人可能会争辩说使用可以更清楚地表明在什么情况下不会进行交易。 释放锁 在处理事务时,重要的是要