帝国cms如何做网站,英国网站域名,成都网站建设 网络公司,网站内链结构是什么文章目录 JavaWeb中处理 Web 请求的方式总结1. 原始的 Servlet 方式1.1. 环境搭建**创建 Maven 或 Gradle 项目**#xff1a;**添加 Servlet 依赖**#xff1a;**创建 Servlet 类**#xff1a;**配置项目**#xff1a;**配置 Tomcat**#xff1a; 1.2. 路由机制1.3. 示例代… 文章目录 JavaWeb中处理 Web 请求的方式总结1. 原始的 Servlet 方式1.1. 环境搭建**创建 Maven 或 Gradle 项目****添加 Servlet 依赖****创建 Servlet 类****配置项目****配置 Tomcat** 1.2. 路由机制1.3. 示例代码 2. Spring MVC2.1. 环境搭建**创建 Spring Boot 项目****创建 Controller 类****运行 Spring Boot 应用** 2.2. 路由机制2.3. 示例代码 3. Struts23.1. 环境搭建**创建 Maven 项目****配置项目****添加 Struts2 依赖****创建 Struts2 配置文件****配置web.xml****创建 Action 类****创建静态jsp文件****配置 Tomcat****访问项目** 3.2. 路由机制3.3. 示例代码 4. JavaServer Faces (JSF)4.1. 环境搭建**创建 Maven 项目****添加 JSF 依赖****创建 Managed Bean 类****创建 JSP 页面****配置 Tomcat** 4.2. 路由机制4.3. 示例代码 5. Vaadin5.1. 环境搭建**创建 Maven 项目****添加 Vaadin 依赖****创建 Vaadin 应用类****配置 Vaadin 应用****运行 Vaadin 应用** 5.2. 路由机制5.3. 示例代码 6. Play Framework6.1. 环境搭建**创建 Play 项目****修改 Routes 文件****编写 Controller 类****运行 Play 应用** 6.2. 路由机制6.3. 示例代码 7. Vert.x7.1. 环境搭建**创建 Vert.x 项目****添加 Vert.x 依赖****编写 Vert.x 应用****运行 Vert.x 应用** 7.2. 路由机制7.3. 示例代码 8. Micronaut8.1. 环境搭建**创建 Micronaut 项目****编写 Controller 类****运行 Micronaut 应用** 8.2. 路由机制8.3. 示例代码 9. Quarkus9.1. 环境搭建**创建 Quarkus 项目****修改 RESTful 接口类****运行 Quarkus 应用** 9.2. 路由机制9.3. 示例代码 10. Ratpack10.1. 环境搭建**创建 Gradle 项目****添加 Ratpack 依赖****编写 Groovy 脚本****运行 Ratpack 应用** 10.2. 路由机制10.3. 示例代码 JavaWeb中处理 Web 请求的方式总结
在 Java Web 开发中处理 Web 请求的方式有很多种涵盖了从原始的 Servlet 到各种现代框架的不同实现。
1. 原始的 Servlet 方式
Servlet 是 Java Web 开发的基础它定义了处理 HTTP 请求的标准接口。
1.1. 环境搭建
工具: Apache Tomcat、Jetty、Undertow配置: 在 web.xml 文件中配置 Servlet 映射IDE: Eclipse、IntelliJ IDEA、NetBeans
创建 Maven 或 Gradle 项目
打开 IntelliJ IDEA选择 File New Project。选择 Maven 或 Gradle然后点击 Next。填写项目的基本信息如 Group ID 和 Artifact ID然后点击 Create。 添加 Servlet 依赖
在 pom.xml 文件中添加 Servlet API 依赖如果使用的是 Java 8 及以上版本Servlet API 已经包含在标准 Java 库中无需单独添加dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/versionscopeprovided/scope
/dependency创建 Servlet 类
创建一个新的 Java 类继承 HttpServlet 类并重写 doGet 和 doPost 方法。import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;WebServlet(/hello)
public class HelloServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType(text/html;charsetUTF-8);PrintWriter out response.getWriter();try {out.println(htmlheadtitleHello Servlet/title/head);out.println(body);out.println(h1Hello, Servlet!/h1);out.println(/body/html);} finally {out.close();}}
}配置项目
1首先点击“File”-“Project Structure…” 2点击“Modules”选择对应Module之后点击“”选择“Web” 3添加完之后会出现如下内容点击右下角“Create Artifact” 4添加完成之后如下 配置 Tomcat
在 IntelliJ IDEA 中安装 Tomcat 插件或使用内置的 Tomcat 集成。在 Run/Debug Configurations 中配置 Tomcat指向项目的 webapp 目录。运行 Tomcat 服务器。
1点击项目中的“Edit Configurations…” 2选择Tomcat Server - Local 3点击右下角的“Fix” 4会出现如下内容也可以将Application context中的内容删掉这样访问时不需要加项目目录更简洁。 5现在就可以运行项目了 1.2. 路由机制
Servlet Mapping: 在 web.xml 中使用 servlet-mapping 标签来配置 Servlet 的 URL 映射。Annotation: 使用 WebServlet 注解来配置 Servlet 的 URL 映射。
示例
web.xml配置servletservlet-nameHelloServlet/servlet-nameservlet-classcom.example.HelloServlet/servlet-class
/servletservlet-mappingservlet-nameHelloServlet/servlet-nameurl-pattern/hello/url-pattern
/servlet-mapping或者是java的Servlet类上添加WebServlet 注解WebServlet(/hello)
public class HelloServlet extends HttpServlet {// ...
}1.3. 示例代码
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;WebServlet(/hello)
public class HelloServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {String name request.getParameter(name);response.setContentType(text/html;charsetutf8);response.setHeader(Hello,name);PrintWriter out response.getWriter();try {out.println(htmlheadtitleHello Leyilea/title/head);out.println(body);out.println(h1Hello, Leyilea!/h1);out.println(p输入的name参数为name/p);out.println(/body/html);} finally {out.close();}}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);}
}
2. Spring MVC
Spring MVC 是 Spring 框架的一部分提供了声明式的 MVC 架构支持。
2.1. 环境搭建
工具: Spring Boot、Spring Framework配置: 使用 SpringBootApplication 注解启动 Spring Boot 应用配置 application.properties 或 application.yml 文件。IDE: Spring Tool Suite (STS)、IntelliJ IDEA
创建 Spring Boot 项目
在 IntelliJ IDEA 中选择 File New Project。选择 Spring Initializr然后点击 Next。填写项目的基本信息选择 Web Starter 依赖然后点击 Finish。 创建 Controller 类
创建一个新的 Java 类使用 RestController 注解。import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
RequestMapping(/hello)
public class HelloController {GetMappingpublic String hello() {return Hello, Spring MVC!;}
}运行 Spring Boot 应用
在 main 方法所在的类上右键选择 Run ‘Application.main()’。
2.2. 路由机制
Controller: 使用 Controller 或 RestController 注解定义控制器类。RequestMapping: 使用 RequestMapping、GetMapping、PostMapping 等注解来配置路由。
示例
RestController
RequestMapping(/hello)
public class HelloController {GetMappingpublic String hello() {return Hello, Spring MVC!;}
}2.3. 示例代码
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
RequestMapping(/hello)
public class HelloController {GetMappingpublic String hello() {return Hello, Spring MVC!;}
}3. Struts2
Struts2 是一个基于 Java 的 MVC 框架使用 XML 或注解来配置路由。
3.1. 环境搭建
和原始的 Servlet 方式配置很相似。
工具: Apache Tomcat配置: 编写 struts.xml 文件来配置 Struts2 框架。IDE: IntelliJ IDEA、 Eclipse、NetBeans
创建 Maven 项目
在 IntelliJ IDEA 中选择 File New Project。选择 Maven然后点击 Next。填写项目的基本信息然后点击 Finish。 配置项目
1首先点击“File”-“Project Structure…” 2点击“Modules”选择对应Module之后点击“”选择“Web” 3添加完之后会出现如下内容点击右下角“Create Artifact” 4添加完成之后如下 接下来创建的项目目录结构如下 添加 Struts2 依赖
在 pom.xml 文件中添加 Struts2 依赖 注意版本兼容否则报错很多… dependenciesdependencygroupIdorg.apache.struts/groupIdartifactIdstruts2-core/artifactIdversion2.5.10/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.1.2/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdservlet-api/artifactIdversion2.3/versionscopeprovided/scope/dependency/dependencies创建 Struts2 配置文件
在 src/main/resources 目录下创建 struts.xml 文件。!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.3//ENhttp://struts.apache.org/dtds/struts-2.3.dtdstrutspackage namedefault namespace/ extendsstruts-defaultaction namehelloWorld classcom.leyilea.HelloWorldActionresult/helloworld.jsp/result/action/package
/struts配置web.xml
在web/WEB-INF/web.xml文件中配置 Struts DispatcherServlet拦截所有请求转发给struts2。?xml version1.0 encodingUTF-8?
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdversion3.1!-- 配置 Struts DispatcherServlet --!-- 拦截所有请求转发给struts2--filterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mapping
/web-app创建 Action 类
创建一个新的 Java 类HelloWorldAction实现 Action 接口。package com.leyilea;
import com.opensymphony.xwork2.Action;public class HelloWorldAction implements Action {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public String execute(){message Hello World!;return SUCCESS;}
}
创建静态jsp文件
index.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
html langen
headmeta charsetUTF-8title首页/title
/head
bodyh3首页/h3
/body
/html
helloworld.jsp:
% page contentTypetext/html;charsetUTF-8 languagejava %
html langen
headmeta charsetUTF-8titleHelloWorld/title
/head
bodyh3HelloWorld/h3
p% ((String)request.getAttribute(message)) %/p/body
/html
配置 Tomcat
在 IntelliJ IDEA 中安装 Tomcat 插件或使用内置的 Tomcat 集成。在 Run/Debug Configurations 中配置 Tomcat指向项目的 webapp 目录。运行 Tomcat 服务器。
1点击项目中的“Edit Configurations…” 2选择Tomcat Server - Local 3点击右下角的“Fix” 4会出现如下内容也可以将Application context中的内容删掉这样访问时不需要加项目目录更简洁。 访问项目 3.2. 路由机制
Action: 使用 XML 配置文件 struts.xml 来定义 action 标签。Result: 使用 result 标签来配置 Action 的结果。
示例
struts.xmlpackage namedefault namespace/action namehelloWorld classcom.leyilea.HelloWorldActionresult/helloworld.jsp/result/action
/packagejavapackage com.example;import com.opensymphony.xwork2.ActionSupport;public class HelloWorldAction extends ActionSupport {// ...
}3.3. 示例代码
package namedefault namespace/action namehelloWorld classcom.example.HelloWorldActionresult/index.jsp/result/action
/packagepackage com.example;import com.opensymphony.xwork2.ActionSupport;public class HelloWorldAction extends ActionSupport {private String message;public String execute() throws Exception {message Hello World!;return SUCCESS;}public String getMessage() {return message;}public void setMessage(String message) {this.message message;}
}4. JavaServer Faces (JSF)
JSF 是一种基于组件的 MVC 框架主要用于构建富客户端 Web 应用程序。
4.1. 环境搭建
工具: Apache Tomcat、GlassFish配置: 使用 faces-config.xml 文件来配置 JSF 组件。IDE: NetBeans、Eclipse
创建 Maven 项目
在 IntelliJ IDEA 中选择 File New Project。选择 Maven然后点击 Next。填写项目的基本信息然后点击 Finish。
添加 JSF 依赖
在 pom.xml 文件中添加 JSF 依赖dependencygroupIdjavax.faces/groupIdartifactIdjavax.faces-api/artifactIdversion2.2.13/versionscopeprovided/scope
/dependency
dependencygroupIdcom.sun.faces/groupIdartifactIdmojarra/artifactIdversion2.2.13/versionscoperuntime/scope
/dependency创建 Managed Bean 类
创建一个新的 Java 类使用 ManagedBean 注解。import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;ManagedBean
SessionScoped
public class HelloBean {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public String sayHello() {message Hello, JSF!;return null;}
}创建 JSP 页面
在 src/main/webapp 目录下创建 index.xhtml 文件。!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtmlxmlns:hhttp://xmlns.jcp.org/jsf/html
h:headtitleHello JSF/title
/h:head
h:bodyh:formh:commandButton valueSay Hello action#{helloBean.sayHello} /h:outputText value#{helloBean.message} //h:form
/h:body
/html配置 Tomcat
在 IntelliJ IDEA 中安装 Tomcat 插件或使用内置的 Tomcat 集成。在 Run/Debug Configurations 中配置 Tomcat指向项目的 webapp 目录。运行 Tomcat 服务器。
4.2. 路由机制
Managed Bean: 使用 ManagedBean 注解定义 Managed Beans。Navigation Rule: 在 faces-config.xml 文件中定义导航规则。
示例
xmlnavigation-rulefrom-view-id/login.xhtml/from-view-idnavigation-casefrom-outcomesuccess/from-outcometo-view-id/welcome.xhtml/to-view-id/navigation-case
/navigation-rulejavaManagedBean
SessionScoped
public class LoginBean {// ...
}4.3. 示例代码
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;ManagedBean
SessionScoped
public class HelloBean {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public String sayHello() {message Hello, JSF!;return null;}
}5. Vaadin
Vaadin 是一种用于构建 Web 应用程序的框架支持构建富客户端应用。
5.1. 环境搭建
工具: Apache Tomcat配置: 使用 Vaadin 库和 Maven 或 Gradle 构建工具。IDE: IntelliJ IDEA、Eclipse
创建 Maven 项目
在 IntelliJ IDEA 中选择 File New Project。选择 Maven然后点击 Next。填写项目的基本信息然后点击 Finish。
添加 Vaadin 依赖
在 pom.xml 文件中添加 Vaadin 依赖dependencygroupIdcom.vaadin/groupIdartifactIdvaadin-bom/artifactIdversion14.7.14/versiontypepom/typescopeimport/scope
/dependency创建 Vaadin 应用类
创建一个新的 Java 类使用 Route 注解。import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.PWA;Route()
PWA(name Project Base, shortName Project Base PWA, offlineResources { images/app-icon.png })
public class MainView extends VerticalLayout {public MainView() {Button button new Button(Click me!, event - Notification.show(Clicked!));add(button);}
}配置 Vaadin 应用
在 src/main/java 目录下创建 Application.java 类。import com.vaadin.flow.component.Component;
import com.vaadin.flow.component.Tag;
import com.vaadin.flow.component.dependency.JsModule;
import com.vaadin.flow.component.littemplate.LitTemplate;
import com.vaadin.flow.component.template.Id;
import com.vaadin.flow.component.uri.UriTemplate;
import com.vaadin.flow.di.HasModels;
import com.vaadin.flow.internal.nodefeature.ModelDescriptors;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.templatemodel.TemplateModel;Tag(my-view)
JsModule(./views/my-view.ts)
public class Application extends LitTemplate implements HasModels {Id(foo)private Component foo;Overridepublic Class? extends TemplateModel getModelClass() {return ApplicationModel.class;}public interface ApplicationModel extends TemplateModel {ModelDescriptors.AsStringString getFoo();}public void setFoo(String foo) {((ApplicationModel) getModel()).setFoo(foo);}
}运行 Vaadin 应用
在 main 方法所在的类上右键选择 Run Application.main()。
5.2. 路由机制
Router: 使用 Route 注解定义路由。Component: 使用 Vaadin 组件来构建 UI。
示例
Route()
public class MainView extends VerticalLayout {// ...
}5.3. 示例代码
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.notification.Notification;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.server.PWA;Route()
PWA(name Project Base, shortName Project Base PWA, offlineResources { images/app-icon.png })
public class MainView extends VerticalLayout {public MainView() {Button button new Button(Click me!, event - Notification.show(Clicked!));add(button);}
}6. Play Framework
Play 是一个轻量级的框架支持 Java 和 Scala。
6.1. 环境搭建
工具: sbtScala Build Tool配置: 使用 Play 应用模板和 sbt 构建工具。IDE: IntelliJ IDEA、Eclipse
创建 Play 项目
打开终端使用 Play CLI 创建新项目play new myproject进入项目目录cd myproject将项目导入到 IntelliJ IDEA 中 在 IntelliJ IDEA 中选择 File Import Project。选择项目根目录并选择相应的 build.sbt 文件。点击 OK 并等待项目加载完毕。
修改 Routes 文件
在 conf/routes 文件中添加路由映射GET /hello controllers.HelloController.hello编写 Controller 类
创建一个新的 Java 类继承 AbstractController 类。例如创建一个名为 HelloController 的类package controllers;import play.mvc.Controller;
import play.mvc.Result;public class HelloController extends Controller {public static Result hello() {return ok(Hello, Play Framework!);}
}运行 Play 应用
在 IntelliJ IDEA 中右键点击 Application 类并选择 Run Application。访问 http://localhost:9000/hello 来查看结果。
6.2. 路由机制
Routes File: 在 conf/routes 文件中定义路由。Controller: 使用 Java 或 Scala 编写控制器类。
示例
confGET /hello controllers.HelloController.index()javapublic class HelloController extends Controller {public Result index() {return ok(Hello, Play Framework!);}
}6.3. 示例代码
import play.mvc.Controller;
import play.mvc.Result;public class HelloController extends Controller {public Result index() {return ok(Hello, Play Framework!);}
}7. Vert.x
Vert.x 是一个高性能的异步框架支持多种语言包括 Java。
7.1. 环境搭建
工具: Vert.x 库配置: 使用 Vert.x 库和 Maven 或 Gradle 构建工具。IDE: IntelliJ IDEA、Eclipse
创建 Vert.x 项目
打开 IntelliJ IDEA选择 File New Project。选择 Gradle 或 Maven然后点击 Next。填写项目的基本信息如 Group ID 和 Artifact ID然后点击 Finish。
添加 Vert.x 依赖
在 pom.xml 文件中添加 Vert.x 核心依赖dependencygroupIdio.vertx/groupIdartifactIdvertx-core/artifactIdversion4.3.1/version
/dependency如果使用 Gradle在 build.gradle 文件中添加implementation io.vertx:vertx-core:4.3.1编写 Vert.x 应用
创建一个新的 Java 类编写 Vert.x 应用代码。例如创建一个名为 HelloVerticle 的类import io.vertx.core.AbstractVerticle;
import io.vertx.core.DeploymentOptions;
import io.vertx.core.Vertx;
import io.vertx.core.http.HttpServer;
import io.vertx.core.http.HttpServerResponse;public class HelloVerticle extends AbstractVerticle {Overridepublic void start() {HttpServer server vertx.createHttpServer();server.requestHandler(req - {if (/hello.equals(req.uri())) {req.response().putHeader(content-type, text/plain).end(Hello, Vert.x!);} else {req.response().setStatusCode(404).end();}}).listen(8080, result - {if (result.succeeded()) {System.out.println(HTTP server started on port 8080);} else {System.err.println(Failed to start server: result.cause());}});}public static void main(String[] args) {Vertx vertx Vertx.vertx();vertx.deployVerticle(new HelloVerticle());}
}运行 Vert.x 应用
在 IntelliJ IDEA 中右键点击 HelloVerticle 类并选择 Run HelloVerticle.main()。访问 http://localhost:8080/hello 来查看结果。
7.2. 路由机制
Router: 使用 Router 类来定义路由。Handler: 使用 Handler 函数来处理请求。
示例
import io.vertx.core.AbstractVerticle;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.handler.StaticHandler;public class MainVerticle extends AbstractVerticle {Overridepublic void start() {Router router Router.router(vertx);router.get(/).handler(rc - rc.response().end(Hello, Vert.x!));vertx.createHttpServer().requestHandler(router::accept).listen(8080);}
}7.3. 示例代码
import io.vertx.core.AbstractVerticle;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.handler.StaticHandler;public class MainVerticle extends AbstractVerticle {Overridepublic void start() {Router router Router.router(vertx);router.get(/).handler(rc - rc.response().end(Hello, Vert.x!));vertx.createHttpServer().requestHandler(router::accept).listen(8080);}
}8. Micronaut
Micronaut 是一个现代的微服务框架支持 Java 和 Groovy。
8.1. 环境搭建
工具: Micronaut 库配置: 使用 Micronaut 应用模板和 Gradle 构建工具。IDE: IntelliJ IDEA、Eclipse
创建 Micronaut 项目
打开终端使用 Micronaut CLI 创建新项目mn create-app myproject进入项目目录cd myproject将项目导入到 IntelliJ IDEA 中 在 IntelliJ IDEA 中选择 File Import Project。选择项目根目录并选择相应的 build.gradle 文件。点击 OK 并等待项目加载完毕。
编写 Controller 类
创建一个新的 Java 类使用 Micronaut 注解。例如创建一个名为 HelloController 的类import io.micronaut.http.HttpResponse;
import io.micronaut.http.HttpStatus;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;Controller(/hello)
public class HelloController {Getpublic HttpResponseString hello() {return HttpResponse.ok(Hello, Micronaut!);}
}运行 Micronaut 应用
在 IntelliJ IDEA 中右键点击 Application 类并选择 Run Application。访问 http://localhost:8080/hello 来查看结果。
8.2. 路由机制
Controller: 使用 Controller 注解定义控制器类。RequestMapping: 使用 GetMapping、PostMapping 等注解来配置路由。
示例
import io.micronaut.http.HttpResponse;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;Controller(/hello)
public class HelloController {Get(produces MediaType.TEXT_PLAIN)public HttpResponseString index() {return HttpResponse.ok(Hello, Micronaut!);}
}8.3. 示例代码
import io.micronaut.http.HttpResponse;
import io.micronaut.http.HttpStatus;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;Controller(/hello)
public class HelloController {Get(produces MediaType.TEXT_PLAIN)public HttpResponseString index() {return HttpResponse.ok(Hello, Micronaut!);}
}9. Quarkus
Quarkus 是一个现代的、高性能的 Java 框架专为 Kubernetes 设计。
9.1. 环境搭建
工具: Quarkus 库配置: 使用 Quarkus 应用模板和 Maven 构建工具。IDE: IntelliJ IDEA、Eclipse
创建 Quarkus 项目
打开终端使用 Quarkus CLI 创建新项目mvn io.quarkus:quarkus-maven-plugin:1.13.7.Final:create \-DprojectNamemyproject \-DclassNamecom.example.HelloResource \-DresourceNamehello进入项目目录cd myproject将项目导入到 IntelliJ IDEA 中 在 IntelliJ IDEA 中选择 File Import Project。选择项目根目录并选择相应的 pom.xml 文件。点击 OK 并等待项目加载完毕。
修改 RESTful 接口类
修改 src/main/java/com/example/HelloResource.java 文件package com.example;import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;Path(/hello)
public class HelloResource {GETProduces(MediaType.TEXT_PLAIN)public String hello() {return Hello, Quarkus!;}
}运行 Quarkus 应用
在 IntelliJ IDEA 中右键点击 Application 类并选择 Run Application。访问 http://localhost:8081/hello 来查看结果。
9.2. 路由机制
RESTful Service: 使用 Path 注解定义 RESTful 服务。Method Mapping: 使用 GET、POST 等注解来配置路由。
示例
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;Path(/hello)
public class HelloResource {GETProduces(MediaType.TEXT_PLAIN)public String hello() {return Hello, Quarkus!;}
}9.3. 示例代码
import io.quarkus.runtime.QuarkusApplication;
import io.quarkus.runtime.annotations.QuarkusMain;import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;Path(/hello)
public class HelloResource {GETProduces(MediaType.TEXT_PLAIN)public String hello() {return Hello, Quarkus!;}
}10. Ratpack
Ratpack 是一个高性能的异步 Java 框架。
10.1. 环境搭建
工具: Gradle 构建工具配置: 使用 Ratpack 库和 Gradle 构建工具。IDE: IntelliJ IDEA、Eclipse
创建 Gradle 项目
打开 IntelliJ IDEA选择 File New Project。选择 Gradle然后点击 Next。填写项目的基本信息如 Group ID 和 Artifact ID然后点击 Finish。
添加 Ratpack 依赖
在 build.gradle 文件中添加 Ratpack 核心依赖dependencies {compile io.ratpack:ratpack-groovy:1.6.0
}编写 Groovy 脚本
创建一个新的 Groovy 类使用 Ratpack 提供的方法。例如创建一个名为 Build.gradle 的类import ratpack.groovy.Groovy
import ratpack.groovy.handler.GroovyTemplate
import ratpack.server.RatpackServerRatpackServer.start { serverSpec -serverSpec.handlers(chain - {chain.get(hello) { ctx -ctx.render(Hello, Ratpack!)}})
}运行 Ratpack 应用
在 IntelliJ IDEA 中右键点击 Build.gradle 文件并选择 Run Build.gradle。访问 http://localhost:5050/hello 来查看结果。
10.2. 路由机制
Handler: 使用 get, post 等方法来定义路由。Chain: 使用 chain 方法来处理请求。
示例
import ratpack.server.RatpackServerimport static ratpack.server.ServerBuilder.ratpack;ratpack { serverSpec -serverSpec.handlers(chain - chain.get({ ctx - ctx.render(Hello, Ratpack!) }))
}.start()10.3. 示例代码
import ratpack.server.RatpackServerimport static ratpack.server.ServerBuilder.ratpack;ratpack { serverSpec -serverSpec.handlers(chain - chain.get({ ctx - ctx.render(Hello, Ratpack!) }))
}.start()