Giải quyết vấn đề ContextPath, RequestURI, getScheme và ServerPort không chính xác khi sử dụng Nginx làm reverse proxy cho Tomcat/Spring Boot
Vấn đề gặp phải
Ví dụ về proxy từ /amp đến /crm
Địa chỉ yêu cầu:
Thông tin in ra (đã bỏ qua phần giải quyết dấu gạch chéo bị trùng)
Có thể thấy contextPath là /crm của Tomcat thay vì /amp được yêu cầu bởi trình duyệt. Điều này có thể dẫn đến:
Lỗi 404 do công cụ template (JSP, Thymeleaf)拼接 sai thông tin header
Lỗi 404 khi thực hiện Redirect t ...
Đăng vào ngày 25 tháng 5 lúc 18:42
Hệ thống quản lý tồn kho nguyên liệu cho nhà máy thực phẩm với Spring Boot và Vue.js
Thiết kế kiến trúc công nghệ
Dự án áp dụng kiến trúc phân tầng rõ ràng, tách biệt giữa giao diện người dùng và logic nghiệp vụ, đảm bảo khả năng mở rộng và bảo trì cao.
Backend dựa trên Spring Boot
Sử dụng Spring Boot 3.x làm nền tảng chính để xây dựng API RESTful. Cơ chế xác thực được triển khai qua Spring Security kết hợp JWT, hỗ trợ phân q ...
Đăng vào ngày 22 tháng 5 lúc 06:31
Phương Pháp Xử Lý Sự Cố Phá Vỡ Bộ Nhớ Đệm Redis
Phân Biệt Các Vấn Đề Hiệu Năng Trong Caching
Khi làm việc với hệ thống phân phối, việc tối ưu hóa truy xuất dữ liệu là ưu tiên hàng đầu. Tuy nhiên, hai hiện tượng thường gặp gây ảnh hưởng lớn đến database là Xâm nhập bộ nhớ đệm (Cache Penetration) và Phá vỡ bộ nhớ đệm (Cache Breakdown).
1. Xâm Nhập Và Phá Vỡ Bộ Nhớ Đệm
Xâm nhập bộ nhớ đệm ...
Đăng vào ngày 21 tháng 5 lúc 11:41
CronExpBuilder - Xây Biểu Thức Cron Cho Công Việc Định Thời Trong Java
CronExpBuilder - Xây Biểu Thức Cron Cho Công Việc Định Thời Trong Java
CronExpBuilder là một thư viện tiện ích đơn giản dành cho Java, giúp bạn xây dựng, phân tích và xác thực biểu thức cron để tạo các công việc định thời. Nó cung cấp API thân thiện và các phương pháp trực quan, cho phép bạn dễ dàng xử lý các biểu thức cron phức tạp.
Tổng Qua ...
Đăng vào ngày 21 tháng 5 lúc 10:19
Cơ chế sự kiện trong Spring Boot
Nguyên lý hoạt động
Cơ chế sự kiện trong Spring Boot dựa trên mẫu thiết kế Observer (Quan sát viên), cho phép các thành phần giao tiếp theo mô hình publish-subscribe (xuất bản - đăng ký) nhằm giảm sự phụ thuộc lẫn nhau. Các thành phần cốt lõi bao gồm:
Sự kiện (Event)
Tất cả sự kiện đều kế thừa từ lớp ApplicationEvent. Ví dụ định nghĩa sự kiện ...
Đăng vào ngày 19 tháng 5 lúc 02:47
Thiết Kế và Xây Dựng Hệ Thống Mạng Xã hội Trực tuyến với Spring Boot và Vue.js
Tổng Quan Về Hệ Thống
Việc phát triển các nền tảng mạng xã hội hiện đại đòi hỏi một kiến trúc mạnh mẽ, khả năng mở rộng cao và trải nghiệm người dùng mượt mà. Bài viết này trình bày quy trình thiết kế và triển khai một hệ thống mạng xã hội dựa trên sự kết hợp giữa Spring Boot cho phía máy chủ (backend) và Vue.js cho phía khách hàng (frontend). ...
Đăng vào ngày 18 tháng 5 lúc 11:51
Phân tích luồng xử lý ngoại lệ Feign trong Spring Cloud sử dụng Ribbon
Bối cảnh và Cấu hình
Trong các phiên bản Spring Boot trước 2.4.x, hệ sinh thái Spring Cloud thường tích hợp sẵn thành phần cân bằng tải Ribbon. Từ phiên bản 2.4.x trở đi, cấu trúc mặc định đã chuyển sang sử dụng Spring Cloud LoadBalancer, tuy nhiên việc hiểu rõ cơ chế hoạt động của Ribbon kết hợp với Feign Client vẫn rất quan trọng khi bảo trì ...
Đăng vào ngày 17 tháng 5 lúc 17:35
Hướng dẫn triển khai Camunda BPM trong hệ thống OA
Giới thiệu về Camunda BPM
Camunda là một trong những đóng góp chính cho dự án Activiti (bên cạnh Alfresco), đồng thời là đối tác tư vấn hàng đầu của dự án này. Theo đánh giá của đội ngũ phát triển Camunda, Activiti có thể đã bị giới hạn bởi nhu cầu workflow tập trung vào tài liệu của Alfresco - điều này một phần do đặc thù của BPMN - và đã bỏ ...
Đăng vào ngày 16 tháng 5 lúc 19:06