Jetty 是高性能的 Servlet 容器,经常会在开发环境中作为服务器来使用。在本文中,我们将使用 Spring Web MVC 技术来实现 REST 接口,并使用 使用 Jetty 作为内嵌服务器,方便测试。
我们将会在系统中实现两个接口:
其中,第一个接口“/hello”将会返回“Hello World!” 的字符串;而第二个接口“/hello/way”则会返回一个包含用户信息的JSON字符串。
我们需要在应用中添加如下依赖:
其中,
<code>spring-webmvc</code> 是为了使用 Spring MVC 的功能。
<code>jetty-servlet</code>是为了提供内嵌的 Servlet 容器,这样我们就无需依赖外部的容器,可以直接运行我们的应用。
<code>jackson-core</code> 和 <code>jackson-databind</code> 为我们的应用提供 JSON 序列化的功能。
创建一个 User 类,代表用户信息。
创建 HelloController 用于处理用户的请求。
其中,映射到“/hello”的方法将会返回“Hello World!” 的字符串;而映射到“/hello/way”则会返回一个包含用户信息的JSON字符串。
在本应用中,我们采用基于 Java 注解的配置。
AppConfiguration 是我们的主应用配置:
AppConfiguration 会扫描“com.waylau.spring”包下的文件,并自动将相关的 bean 进行注册。
AppConfiguration 同时又引入了 MVC 的配置类 MvcConfiguration:
MvcConfiguration 配置类一方面启用了 MVC 的功能,另一方面添加了 Jackson JSON 的转换器。
最后,我们需要引入 Jetty 服务器 JettyServer:
JettyServer 将会在 Application 类中进行启动:
在编辑器中,直接运行 Application 类即可。启动之后,应能看到如下控制台信息:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnau8GbsVGatQ3clJXLjZXbtcjMzADOxAjMvwFdz9Gcvw1cldWYtl2Lc12bj5SdhxWehd3Lc9CX6MHc0RHaiojIsJye.jpg)
图1 “/hello”接口的返回内容
图2 “/hello/way”接口的返回内容