当前位置: 首页 > wzjs >正文

网站怎么做交易市场竹山县住房和城乡建设局网站

网站怎么做交易市场,竹山县住房和城乡建设局网站,公众号微官网,网站开发与设计现状一、引言 随着微服务架构的广泛应用,Spring Cloud Gateway 作为网关层的核心组件,为服务间的通信与流量管理提供了强大支持。spring-cloud-starter-gateway-mvc 则进一步助力开发者以熟悉的 MVC 模式进行网关开发。同时,将项目以 WAR 包形式…

一、引言

随着微服务架构的广泛应用,Spring Cloud Gateway 作为网关层的核心组件,为服务间的通信与流量管理提供了强大支持。spring-cloud-starter-gateway-mvc 则进一步助力开发者以熟悉的 MVC 模式进行网关开发。同时,将项目以 WAR 包形式部署到外部 Tomcat 服务器,能够满足企业级应用对灵活部署和资源管理的需求。本文基于最新的 Spring Boot 3.4 版本,详细介绍如何实现这一实战过程,帮助开发者紧跟技术趋势,高效完成项目开发与部署。

二、项目依赖配置

2.1 创建项目与依赖引入

首先,创建一个新的 Spring Boot 项目,在创建过程中,务必选择 Spring Boot 3.4 版本。创建完成后,打开项目的 pom.xml 文件,进行依赖配置。

Spring Boot 3.4 对依赖管理进行了诸多优化和升级,我们先继承 Spring Boot 3.4 的父项目,引入其强大的自动配置和依赖管理能力:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.0</version>
</parent>

接着,添加 Spring Cloud 依赖管理,由于 Spring Boot 3.4 对 Spring Cloud 版本有一定的适配要求,这里我们选择合适的 Spring Cloud 版本进行依赖导入:

<dependencyManagement><dependencies><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2024.0.0</version><type>pom</type><scope>import</scope></dependencies>
</dependencyManagement>

然后,添加核心依赖。spring-cloud-starter-gateway-mvc 是实现网关 MVC 风格开发的关键,spring-boot-starter-web 提供 Web 开发基础支持,同时,因为要以 WAR 包形式部署到外部 Tomcat,所以需要排除 Spring Boot 内置的 Tomcat 依赖:

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway-mvc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 排除内置的 Tomcat 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>
</dependencies>

2.2 构建插件配置

为了将项目打包成 WAR 格式,还需要配置构建插件。spring-boot-maven-plugin 用于 Spring Boot 项目的构建,maven-war-plugin 则专门负责将项目打包为 WAR 包,配置如下:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.3.2</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins>
</build>

三、项目核心代码实现

3.1 Servlet 初始化类

在 Spring Boot 3.4 中,为了使项目能够在外部 Tomcat 上正确启动,依然需要创建一个继承自 SpringBootServletInitializer 的类。该类负责引导 Spring Boot 应用在 Tomcat 环境中启动,重写 configure 方法指定主应用程序类:

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import com.example.gateway.GatewayApplication;public class ServletInitializer extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(GatewayApplication.class);}
}

3.2 主应用程序类

主应用程序类 GatewayApplication 是项目的入口,在 Spring Boot 3.4 中,依然使用 @SpringBootApplication 注解开启自动配置和组件扫描功能:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}
}

3.3 路由配置类

GatewayConfig 类中配置 Spring Cloud Gateway 的路由规则,Spring Boot 3.4 对路由配置的底层实现进行了优化,不过使用方式基本保持一致。通过 RouteLocatorBuilder 构建路由,例如将以 /example/ 开头的请求转发到 http://localhost:8081

import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class GatewayConfig {@Beanpublic RouteLocator customRouteLocator(RouteLocatorBuilder builder) {return builder.routes().route("example_route", r -> r.path("/example/**").uri("http://localhost:8081")).build();}
}

3.4 MVC 控制器类

ExampleController 类以 MVC 风格处理转发后的请求,在 Spring Boot 3.4 中,控制器的注解使用和功能实现没有太大变化。通过 @GetMapping 注解定义接口,例如 /message 接口返回特定字符串:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ExampleController {@GetMapping("/message")public String getMessage() {return "Hello from Example Controller!";}
}

四、项目打包与部署

4.1 项目打包

在项目根目录下,打开命令行工具,执行 mvn clean package 命令。Maven 会自动清理项目的旧构建结果,编译项目代码,运行测试(如果有测试代码),并最终将项目打包成 WAR 文件。生成的 WAR 文件会存放在项目的 target 目录下。

4.2 项目部署

target 目录下的 WAR 文件复制到外部 Tomcat 服务器的 webapps 目录中。启动 Tomcat 服务器,Tomcat 会自动解压 WAR 文件,并部署应用程序。在 Tomcat 的启动日志中,可以查看应用程序的部署进度和相关信息。

五、项目测试

Tomcat 启动成功后,使用浏览器或者 HTTP 客户端工具(如 Postman)发送 GET 请求进行测试。请求地址为 http://localhost:8080/your-context-path/example/message,其中 your-context-path 是 Tomcat 部署应用时的上下文路径(默认为项目名称)。如果项目配置和部署正确,将会收到 Hello from Example Controller! 的响应,表明项目已经成功运行在外部 Tomcat 服务器上。

六、总结

本文基于 Spring Boot 3.4 版本,详细介绍了使用 spring-cloud-starter-gateway-mvc 开发项目,并以 WAR 包形式部署到外部 Tomcat 服务器的全过程。Spring Boot 3.4 带来了性能优化、安全性增强等诸多新特性,结合 Spring Cloud Gateway 和 MVC 模式,能够帮助开发者构建出高效、灵活的微服务网关。通过这种部署方式,企业可以更好地管理应用资源,适应复杂多变的业务场景。在实际项目开发中,开发者可以根据具体需求进一步扩展路由规则,丰富控制器逻辑,充分发挥 Spring 生态的强大功能 。


文章转载自:

http://lGeeIgRE.wfkbk.cn
http://v53zBvar.wfkbk.cn
http://zNRnjDhT.wfkbk.cn
http://zo4hV720.wfkbk.cn
http://hTpuy5Es.wfkbk.cn
http://sTORy7M1.wfkbk.cn
http://kr2Ogdf4.wfkbk.cn
http://mSfi814k.wfkbk.cn
http://KLrnI5dO.wfkbk.cn
http://4QJcz1Pt.wfkbk.cn
http://OGkX22ir.wfkbk.cn
http://fpdtIfOS.wfkbk.cn
http://ZZYr151B.wfkbk.cn
http://fdNYnMJs.wfkbk.cn
http://FCNt3Fxk.wfkbk.cn
http://XWVThwEN.wfkbk.cn
http://iicFY0ka.wfkbk.cn
http://GIhpWkhT.wfkbk.cn
http://bBHUNF5h.wfkbk.cn
http://1ocUYVn8.wfkbk.cn
http://fssJVe8B.wfkbk.cn
http://7oWlvxcG.wfkbk.cn
http://uKYdL3cW.wfkbk.cn
http://CFasBjqs.wfkbk.cn
http://1fqwOm1E.wfkbk.cn
http://H4B1GbWK.wfkbk.cn
http://WZh5fOKZ.wfkbk.cn
http://7kER2MjZ.wfkbk.cn
http://zI7Qhtq3.wfkbk.cn
http://oDlgL23K.wfkbk.cn
http://www.dtcms.com/wzjs/700183.html

相关文章:

  • 模板网站的建设天眼查全国企业查询
  • 东营网站seo外包WordPress显示403
  • 个人网站 做导航长沙网站建设长沙建设银行
  • 手机网站做指向php网站建设制作服务
  • 网站首页面设计代码网站的制
  • 邯郸企业建站行政法规
  • 网站备案是备案域名还是空间深圳头条新闻
  • 什么网站可以做外贸怎么做一个公司的网站
  • 公司做网站的费用怎么入账企业邮箱登录入口126
  • 如何做公司网站制作西安网站设设
  • 国内做服装的网站有哪些国内永久免费的crm
  • 邯郸老区建设网站如何分析竞争对手的网站
  • 高端品牌网站设计企业网站建设项目建设全过程有哪些阶段
  • 网站做优化和推广哪个好免费域名网站黄
  • 小米官网网站建设公司建一个网站多少费用
  • 网站建设设计师我的网站突然打不开了
  • 青岛商媒做网站怎么样网站做反向代理对百度收录有影响吗
  • 网站服务器无法访问电子商务网站开发教程课后习题
  • 建设网站网页打不开WordPress抓取豆瓣
  • 广州网站的建设软件开发入门
  • 无忧网站建设报价什么是黄页
  • 网站建设维护合同合肥网站代运营公司有哪些
  • 用seo对网站做分析山东网站制作
  • 郑州网站开发yipinpai山东网站建设SEO优化制作设计公司
  • 有什么网站可以做设计兼职在线制作图片加闪光字
  • dedecms网站管理系统国外vps私人
  • 一个做特卖的网站做婚礼策划的网站
  • 广州天河建站公司广西建设执业资格注册中心官网
  • 备案域名购买完过户简单吗郑州网站seo公司
  • 手机建立网站多少钱北京网站优化排名