SpringMVC:創建一個簡單的SpringMVC框架

目錄

一、框架介紹

兩個重要的xml文件?

SpringMVC執行流程?

二、Vscode搭建SpringMVC框架

1、maven創建webapp原型項目

2、pom.xml下添加springmvc的相關依賴

3、在web.xml配置

?4、springmvc.xml的配置

5、編寫Controller控制器類

6、?編寫JSP界面

7、項目結構圖?


一、框架介紹

兩個重要的xml文件?

? ? ? ? web.xml文件是Java Web應用程序的部署描述文件,用于配置Web應用程序的部署信息和配置參數。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"><display-name>spring_mvc</display-name><!-- springMVC的前端控制器,此處為名稱顯示在Web服務器管理頁面的 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 如果以xxx-servlet.xml命名,并且位于/WEB-INF下,則服務器會自動識別,
不需要配置 init-param--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><!--init-param配置是告訴服務器DispatcherServlet的配置文件在哪,此處是告訴服務器文件在src/classes下去找該配置文件 --><load-on-startup>1</load-on-startup><!-- 立即加載 --></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 此處為url匹配器,這里/表示處理所有請求,可以設置一些固定格式,來過濾非法請求。 -->
</web-app>

? ? ? ? ?springmvc.xml文件,該文件是springmvc的配置文件。該文件的名稱可以自定,文件位置甚至可以放在任意位置,但這樣做就要在web.xml配置相關文件信息和文件位置。

????????具體配置方法:要配置init-param元素,param-value值就要修改為相對于web.xml所在的路徑。上面web.xml的param-value值,說明DispatcherServlet的配置文件位于/項目名/src/resources目錄下,此目錄一般放java代碼,打包后會該配置文件會存在于\項目名\WEB-INF\classes的目錄下。

? ? ? ? 如果不想配置init-param元素,則要將springmvc的配置文件命名為xxx-servlet.xml,并且文件位于WEB-INF文件夾下。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- 配置controller --><bean id="login" name="/loginController" class="com.hfxt.controller.LoginController"></bean><!-- 配置映射處理器 :name來映射尋找controller (默認存在,可以省略不配置,如果用到另外兩種需要配置) --><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean><!-- 配置視圖解析器 如何把handler 方法返回值解析為實際的物理視圖  根據控制器返回的字符串拼接成jsp路徑:/WEB-INF/page/xx.jsp --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/page/"/><!-- 前綴 --><property name="suffix" value=".jsp"/><!-- 后綴 --></bean>
</beans>

SpringMVC執行流程?

?01、用戶發送url請求到前端控制器DispatcherServlet攔截進行處理。

????????以下是具體的DispatcherServlet前端攔截器配置,DispatcherServlet的配置文件可以放在項目的任意目錄

在web.xml文件下配置:

<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

????????該語句配置了Spring MVC框架中的DispatcherServlet。

????????其中org.springframework.web.servlet.DispatcherServlet是DispatcherServlet的類路徑。

02、DispatcherServlet收到請求調用HandlerMapping(處理器映射器)?

????????HandlerMapping的實現一共有多種。以下BeanNameUrlHandlerMapping是Spring MVC 框架中最簡單的通過name映射尋找controller的 HandlerMapping 實現。

在springmvc.xml文件里配置:

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

<!-- 配置映射處理器 :name來映射尋找controller (默認存在,可以省略不配置,如果用到另外兩種需要配置) -->

HandlerMapping的實現方式還有

????????SimpleUrlHandlerMappingControllerClassNameHandlerMapping

03、HandlerMapping找到具體的處理器Handler(查找XML配置或注解配置),返回執行鏈。

?????????XML配置:在springmvc.xml文件里進行相關Controller類的配置

<bean id="login" name="/loginController" class="com.hfxt.controller.LoginController"></bean>

?????????注釋配置:在Controller類中使用@Controller@RequestMapping等注解來指定請求路徑與處理方法的映射關系。Spring框架會掃描這些注解,并根據它們建立映射關系,從而將請求路由到相應的Controller處理方法上。

@Controller
@RequestMapping("/example")
public class ExampleController {@RequestMapping("/hello")public String hello(Model model) {model.addAttribute("message", "Hello, Spring MVC!");return "helloPage";}
}

04、HandlerAdapter(處理器適配器)經過適配調用具體的處理器(Handler/Controller)

????????HandlerAdapter適配器會找到合適的方法調用處理器Handler(因為Handler的定義方式不止一種)

05、Controller執行完成返回ModelAndView對象。

06、HandlerAdapter將Controller執行結果ModelAndView返回給DispatcherServlet。

07、DispatcherServlet將ModelAndView傳給ViewReslover(視圖解析器)?

? ? ? ??ViewReslover具體要在springmvc的配置文件里進行如下語句的具體配置,設置前綴和后綴。

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/page/"/><!-- 前綴 --><property name="suffix" value=".jsp"/><!-- 后綴 -->
</bean>
08、ViewReslover解析ModelAndView后返回具體View(視圖)給DispatcherServlet。
09、DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中),再響應給用戶。

二、Vscode搭建SpringMVC框架

1、maven創建webapp原型項目

參考:http://t.csdnimg.cn/fg98g

resources的lib文件夾放相關jar包

java文件夾下放相關java代碼?

2、pom.xml下添加springmvc的相關依賴

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.30</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.30</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency>

只有添加完相關依賴(相當于引入相關jar包)后,才能配置springmvc。?

3、在web.xml配置

一、配置攔截器DispatcherServlet

<servlet-name>myspringmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

二、配置springmvc配置文件的地址?

<init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/springmvc.xml</param-value></init-param>

?三、配置servlet映射?

?<servlet-mapping><servlet-name>myspringmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

?四、配置歡迎界面

<welcome-file-list><welcome-file>index.jsp</welcome-file>
</welcome-file-list>

最終配置代碼:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"><display-name>spring_mvc</display-name><!-- springMVC的前端控制器 --><servlet><servlet-name>myspringmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--init-param配置文件的位置 如果springmvc.xml是以xxx-servlet.xml命名,并且位于/WEB-INF下則不需要配置 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup><!-- 立即加載 --></servlet><servlet-mapping><servlet-name>myspringmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>

?4、springmvc.xml的配置

????????我們在web.xml文件下配置了springmvc.xml的路徑。該文件位于以下文件夾(resources)下。也可以自定目錄,根目錄從web項目起。

????????在配置springmvc之前,我們要生成其xml文件,eclipse可以通過可視化自動生成,而在vscode中我們可以手動創建并導入版本約束命名空間

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/mvchttp://www.springframework.org/mvc/spring-mvc-4.0.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-3.0.xsd"></beans>

????????然后我們就能在beans標簽里配置具體內容。?

一、配置映射處理器

常見的映射處理器有:BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping、ControllerClassNameHandlerMapping等。

?<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

二、配置視圖解析器?:

????????????????用于將控制器返回的字符串拼接成可訪問的url路徑(前提是真實存在)。

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"/><property name="suffix" value=".jsp"/>
</bean>

三、配置包掃描器:用于組件的自動發現和自動裝配。

<context:component-scan base-package="com.edu"/>
<mvc:annotation-driven/>
<!--啟用對處理mvc注解的支持-->

最終配置代碼:??

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/mvchttp://www.springframework.org/mvc/spring-mvc-4.0.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- 配置controller<bean id="login" name="/loginController" class="com.hfxt.controller.LoginController"></bean> --><!-- 1、配置映射處理器 :name來映射尋找controller (默認存在,可以省略不配置,如果用到另外兩種需要配置) --><context:component-scan base-package="com.edu"/><mvc:annotation-driven/><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/page/"/><property name="suffix" value=".html"/></bean>
</beans>

5、編寫Controller控制器類

????????在java文件下創建包,并編寫控制器類Controller,此類繼承了抽象類AbstractController,覆寫其方法。

package com.edu;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;@Controller
public class Calculate extends AbstractController {@RequestMapping("/calculate")@Overrideprotected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse resp) throws Exception {ModelAndView mav=new ModelAndView();String x="";for(int i=1;i<=5;i++){String t=req.getParameter(Integer.toString(i));x+=t;}Integer result= count(x);System.out.println(result);mav.setViewName("result");mav.addObject("result", result);return mav;}protected Integer count(String x){String ture_result="ACCBD";Integer cnt=0;for(int i=0;i<x.length();i++){if(ture_result.charAt(i)==x.charAt(i)){cnt++;}}return cnt*20;}}

6、?編寫JSP界面

JSP的頁面文件放在webapp的文件夾下 。

?result.jsp

使用el表達式提取ModelAndView傳遞的值。

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body><h1 color="red">您本次的測試成績為:${result}分</h1></body>
</html>

index.jsp

用表單屬性action發送數據到/examination/calculate上。

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>C語言考試</title>
</head><body>
<form action="/examination/calculate" method="post"><p>1、以下哪個是C語言整形數據類型</p>
<p><input name="1" type="radio" value="A" />A、int <input name="1" type="radio" value="B" />B、char<input name="1" type="radio" value="C" />C、float<input name="1" type="radio" value="D" />D、double
</p>
<p>2、以下哪個是C語言浮點型數據類型</p>
<p><input name="2" type="radio" value="A" />A、int<input name="2" type="radio" value="B" />B、char<input name="2" type="radio" value="C" />C、float<input name="2" type="radio" value="D" />D、double 
</p>
<p>3、以下哪個是C語言中格式正確的標識符</p>
<p><input name="3" type="radio" value="A" />A、int
<input name="3" type="radio" value="B" />B、1ch
<input name="3" type="radio" value="C" />C、word
<input name="3" type="radio" value="D" />D、()!@#¥ 
</p>
<p>4、以下哪個是C語言的文件后綴</p>
<p><input name="4" type="radio" value="A" />A、.c<input name="4" type="radio" value="B" />B、.cpp<input name="4" type="radio" value="C" />C、.java<input name="4" type="radio" value="D" />D、.py
</p>
<p>5、以下哪個是C語言中的一維數組</p>
<p><input name="5" type="radio" value="A" />A、int a;<input name="5" type="radio" value="B" />B、chara;<input name="5" type="radio" value="C" />C、float a [] [] ;<input name="5" type="radio" value="D" />D、double a [] ;
</p><input type="submit"/>
</form>
</body>
</html>

7、項目結構圖?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19941.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19941.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19941.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VS2017中使用qt翻譯家,除ui界面外其他用tr包裹的字符串在翻譯家中顯示為亂碼

1、ui界面中的中文,可以正常顯示 2、其他用tr包裹的字符串,顯示為亂碼 3、解決 改為utf8保存。 然后更新翻譯文件,重新打開發現已經ok了。 參考博客: https://blog.csdn.net/zhou714534957/article/details/124948822 https://blog.csdn.net/weixin_52689816/article/d…

【Linux】期末復習

《Linux程序設計》各章知識點梳理 第1章 軟件包的管理方式方面&#xff0c;Ubuntu、CentOS的差異 Ubantu使用APT&#xff0c;CentOS使用YUM 如何添加一個新用戶&#xff1f; Useradd new_user_name 什么是Shell&#xff1f; Shell 是一個用 C 語言編寫的程序&#xff0c;這個…

Milvus向量數據庫:高效處理海量非結構化數據的利器

一、引言 隨著數據量的爆炸式增長&#xff0c;如何高效地存儲、管理和查詢海量非結構化數據成為數據科學和人工智能領域的一個重大挑戰。傳統的關系型數據庫在處理這種類型的數據時顯得力不從心&#xff0c;而向量數據庫作為一種新型的數據庫解決方案&#xff0c;提供了極大的…

PAT-1004 成績排名(java實現)

這一關感覺還沒第三關難&#xff0c;思路很清晰 題目 1004 成績排名 讀入 n&#xff08;>0&#xff09;名學生的姓名、學號、成績&#xff0c;分別輸出成績最高和成績最低學生的姓名和學號。 輸入格式&#xff1a; 每個測試輸入包含 1 個測試用例&#xff0c;格式為 第 1 行…

【算法】宵暗的妖怪

?題目鏈接&#xff1a; 宵暗的妖怪 ?題目描述 露米婭作為宵暗的妖怪&#xff0c;非常喜歡吞噬黑暗。這天&#xff0c;她來到了一條路上&#xff0c;準備吞噬這條路上的黑暗。這條道路一共被分為n 部分&#xff0c;每個部分上的黑暗數量為ai 。露米婭每次可以任取 連續的 未被…

賺錢其實沒有秘密,多琢磨一下不丟人

為什么學了很多知識還是掙不到錢&#xff1f; 掙不到錢&#xff0c;是因為你不夠稀缺&#xff1b;掙錢太少&#xff0c;是因為你不懂杠桿&#xff0c;用杠桿撬動稀缺&#xff0c;個人價值自然水漲船高。 學富五車&#xff0c;為何財庫依舊空空&#xff1f;怎樣才能提高掙錢的…

在全志H616核桃派開發板上配置SSH遠程終端方法詳解

熟悉指令用戶可以對已經聯網的核桃派進行局域網SSH遠程終端控制&#xff0c;方便使用自己的PC對核桃派遠程進行各種指令操作。 普通用戶&#xff08;默認&#xff09; 賬號&#xff1a;pi ; 密碼&#xff1a;pi管理員賬戶 賬號&#xff1a;root ; 密碼&#xff1a;root 在這之…

在Android Studio中使用谷歌Gemini代碼助手

今天在做android開發的時候&#xff0c;一個項目使用到了gradle8.0&#xff0c;但是我的Android Studuio根本不支持&#xff0c;無可奈何只能從小蜜蜂版本升級了水母 | 2023.3.1版本&#xff0c;但突然發現AS已經集成了Gemini助手。 首先我們需要下載這個版本的&#xff1a; h…

2.5Bump Mapping 凹凸映射

一、Bump Mapping 介紹 我們想要在屏幕上繪制物體的細節&#xff0c;從尺度上講&#xff0c;一個物體的細節分為&#xff1a;宏觀、中觀、微觀宏觀尺度中其特征會覆蓋多個像素&#xff0c;中觀尺度只覆蓋幾個像素&#xff0c;微觀尺度的特征就會小于一個像素宏觀尺度是由頂點或…

JDBC常見異常(10)—預編譯模式下占位符動態排序字段失效

場景需求 需要根據不同的列進行對應的排序操作&#xff0c;實現動態列名排序 類似&#x1f41f;動態查詢或更新 但是JDBC預編譯模式下占位符的排序字段失效 SQL語句 分頁查詢 select * from (select t.*, rownum rn from(select * from emp order by empno desc) t where …

《java數據結構》--一篇解決二叉搜索樹!!

&#x1f638;二叉搜索樹的概念 二叉搜索樹又名二叉排序樹&#xff0c;一般具有以下性質&#xff1a; 若它的左子樹不為空&#xff0c;則左子樹上所有節點的值都小于根節點的值若它的右子樹不為空&#xff0c;則右子樹上所有節點的值都大于根節點的值它的左右子樹也分別為二叉…

C語言高級編程及實例剖析.pdf

C語言高級編程及實例剖析.pdf C語言&#xff0c;作為一種經典且強大的編程語言&#xff0c;已經在多個領域得到廣泛應用。然而&#xff0c;要想真正掌握C語言的高級編程技巧&#xff0c;卻并非易事。本文將深入探討C語言的高級編程技巧&#xff0c;并結合實例進行詳細剖析&…

61. UE5 RPG 實現敵人近戰攻擊技能和轉向攻擊

在前面&#xff0c;我們實現了敵人的AI系統&#xff0c;敵人可以根據自身的職業進行匹配對應的攻擊方式。比如近戰戰士會靠近目標后進行攻擊然后躲避目標的攻擊接著進行攻擊。我們實現了敵人的AI行為&#xff0c;但是現在還沒有實現需要釋放的技能&#xff0c;接下來&#xff0…

HTML5 音頻 Audio 標簽詳解

HTML5 引入了 <audio> 標簽&#xff0c;允許開發者在網頁中直接嵌入音頻文件&#xff0c;而不需要依賴第三方插件。本文將全面介紹 <audio> 標簽的各種屬性&#xff0c;并通過實例代碼詳細說明其用法。 一、基礎用法 1. 基本結構 HTML5 中使用 <audio> 標…

通過定時器和脈沖控制LED

目錄 一、定時器 &#xff08;一&#xff09;定時器簡介 &#xff08;二&#xff09;定時器類型 1、常見定時器 2、定時器的主要功能 3、常規定時器 &#xff08;三&#xff09;定時器配置 1、定時器標準外設庫接口函數 2、定時器標準外設庫配置 二、PWM &#xff08…

匿名函數(lambda)

自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 匿名函數是指沒有名字的函數&#xff0c;應用在需要一個函數&#xff0c;但是又不想費神去命名這個函數的場合。通常情況下&#xff0c;這樣的函數只…

【Qt】Qt界面美化指南:深入理解QSS樣式表的應用與實踐

文章目錄 前言&#xff1a;1. 背景介紹2. 基本語法3. QSS 設置方式3.1. 設置全局樣式3.2. 從文件加載樣式表3.3. 使用 Qt Designer 編輯樣式 總結&#xff1a; 前言&#xff1a; 在當今這個視覺至上的時代&#xff0c;用戶界面&#xff08;UI&#xff09;的設計對于任何軟件產…

智能制造案例專題|與MongoDB一起解鎖工業4.0轉型與增長的無限潛力!

MongoDB 智能制造 數字化技術的洪流在各個產業鏈的主干和枝節涌現。在工業制造領域&#xff0c;能否通過數字化技術實現各生產要素、生產環節之間的緊密配合&#xff0c;高效規劃、管理整個生產流程&#xff0c;是企業提升韌性、贏得競爭的關鍵。隨著工業4.0的深入發展和智能…

高級Java開發者的自我修養:深入剖析JVM垃圾回收機制及面試要點

在探索Java虛擬機&#xff08;JVM&#xff09;的奧秘過程中&#xff0c;垃圾回收機制&#xff08;GC&#xff09;是一個不可或缺的話題&#xff0c;尤其在面對大型應用和系統優化時顯得尤為重要。JVM的自動內存管理是Java編程語言中一項革命性的特性&#xff0c;它大大簡化了程…

測試記錄2:Ubuntu工程直接添加使用Eigen3源文件

直接將Eigen3源文件放入到工程目錄下使用&#xff0c;免安裝 1.新建空文件夾Test_eigen 2.創建將eigen下載的文件夾解壓&#xff0c;重命名為eigen3放入到Test_eigen 3.進入Test_eigen&#xff0c;創建main.cpp #include <iostream> #include <Eigen/Eigen>int m…