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

Spring MVC MVC介绍和入门案例

1.SpringMVC概述

1.1.MVC介绍

MVC是一种设计模式,将软件按照模型、视图、控制器来划分:

  • M:Model,模型层,指工程中的JavaBean,作用是处理数据

    JavaBean分为两类:

    • 一类称为数据承载Bean:专门存储业务数据的,如 Student、User 等

    • 一类称为业务处理Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。

  • V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据

  • C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器

MVC的工作流程

用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理 请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据 后最终响应给浏览器

MVC与三层架构的关系:

三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。

三层是基于业务逻辑来分的,而mvc是基于页面来分的。

MVC与三层架构的关系:

三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。

三层是基于业务逻辑来分的,而mvc是基于页面来分的。

1.2.Spring MVC介绍

  • Spring MVC 是Spring框架的一个模块,是一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。

  • SpringMVC 是 Spring 为表示层开发提供的一整套完备的解决方案。在表述层框架历经 Strust、WebWork、Strust2 等诸多产品的历代更迭之后,目前业界普遍选择了 SpringMVC 作为 Java EE 项目表述层开发的首选方案

2.SpringMVC 的入门

2.1.环境搭建

2.1.1.创建工程

2.1.2.添加web支持

  1. 右键项目选择Add framework support...

2.添加web支

3.效果

  • 注意:

    1. 不要先添加打包方式

    2. 将web目录要拖拽到main目录下,并改名为webapp

2.1.3.pom.xml

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#555555"><?xml</span> <span style="color:#555555">version="1.0" encoding="UTF-8"?></span>
<span style="color:#117700"><</span><span style="color:#117700">project</span> <span style="color:#0000cc">xmlns</span>=<span style="color:#aa1111">"http://maven.apache.org/POM/4.0.0"</span><span style="color:#0000cc">xmlns:xsi</span>=<span style="color:#aa1111">"http://www.w3.org/2001/XMLSchema-instance"</span><span style="color:#0000cc">xsi:schemaLocation</span>=<span style="color:#aa1111">"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">modelVersion</span><span style="color:#117700">></span>4.0.0<span style="color:#117700"></</span><span style="color:#117700">modelVersion</span><span style="color:#117700">></span>
​<span style="color:#117700"><</span><span style="color:#117700">groupId</span><span style="color:#117700">></span>com.by<span style="color:#117700"></</span><span style="color:#117700">groupId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span>SpringMVC_day01<span style="color:#117700"></</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">version</span><span style="color:#117700">></span>1.0-SNAPSHOT<span style="color:#117700"></</span><span style="color:#117700">version</span><span style="color:#117700">></span><span style="color:#aa5500"><!--打包方式--></span><span style="color:#117700"><</span><span style="color:#117700">packaging</span><span style="color:#117700">></span>war<span style="color:#117700"></</span><span style="color:#117700">packaging</span><span style="color:#117700">></span>
​<span style="color:#117700"><</span><span style="color:#117700">dependencies</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">groupId</span><span style="color:#117700">></span>org.springframework<span style="color:#117700"></</span><span style="color:#117700">groupId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span>spring-context<span style="color:#117700"></</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">version</span><span style="color:#117700">></span>5.1.8.RELEASE<span style="color:#117700"></</span><span style="color:#117700">version</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">groupId</span><span style="color:#117700">></span>org.springframework<span style="color:#117700"></</span><span style="color:#117700">groupId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span>spring-web<span style="color:#117700"></</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">version</span><span style="color:#117700">></span>5.1.8.RELEASE<span style="color:#117700"></</span><span style="color:#117700">version</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">groupId</span><span style="color:#117700">></span>org.springframework<span style="color:#117700"></</span><span style="color:#117700">groupId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span>spring-webmvc<span style="color:#117700"></</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">version</span><span style="color:#117700">></span>5.1.8.RELEASE<span style="color:#117700"></</span><span style="color:#117700">version</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">dependency</span><span style="color:#117700">></span>
​<span style="color:#117700"><</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">groupId</span><span style="color:#117700">></span>javax.servlet<span style="color:#117700"></</span><span style="color:#117700">groupId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span>servlet-api<span style="color:#117700"></</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">version</span><span style="color:#117700">></span>2.5<span style="color:#117700"></</span><span style="color:#117700">version</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">scope</span><span style="color:#117700">></span>provided<span style="color:#117700"></</span><span style="color:#117700">scope</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">dependency</span><span style="color:#117700">></span>
​<span style="color:#117700"><</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">groupId</span><span style="color:#117700">></span>javax.servlet.jsp<span style="color:#117700"></</span><span style="color:#117700">groupId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span>jsp-api<span style="color:#117700"></</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">version</span><span style="color:#117700">></span>2.0<span style="color:#117700"></</span><span style="color:#117700">version</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">scope</span><span style="color:#117700">></span>provided<span style="color:#117700"></</span><span style="color:#117700">scope</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">dependency</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">dependencies</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">build</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">plugins</span><span style="color:#117700">></span><span style="color:#aa5500"><!-- 配置Tomcat插件 --></span><span style="color:#117700"><</span><span style="color:#117700">plugin</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">groupId</span><span style="color:#117700">></span>org.apache.tomcat.maven<span style="color:#117700"></</span><span style="color:#117700">groupId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span>tomcat7-maven-plugin<span style="color:#117700"></</span><span style="color:#117700">artifactId</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">version</span><span style="color:#117700">></span>2.2<span style="color:#117700"></</span><span style="color:#117700">version</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">configuration</span><span style="color:#117700">></span><span style="color:#aa5500"><!--端口号--></span><span style="color:#117700"><</span><span style="color:#117700">port</span><span style="color:#117700">></span>8080<span style="color:#117700"></</span><span style="color:#117700">port</span><span style="color:#117700">></span><span style="color:#aa5500"><!--项目名--></span><span style="color:#117700"><</span><span style="color:#117700">path</span><span style="color:#117700">></span>/<span style="color:#117700"></</span><span style="color:#117700">path</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">configuration</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">plugin</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">plugins</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">build</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">project</span><span style="color:#117700">></span></span></span>

2.2.入门案例

2.2.1.index.jsp

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#117700"><</span><span style="color:#117700">%@</span> <span style="color:#0000cc">page</span> <span style="color:#0000cc">contentType</span>=<span style="color:#aa1111">"text/html;charset=UTF-8"</span> <span style="color:#0000cc">language</span>=<span style="color:#aa1111">"java"</span> <span style="color:#0000cc">%</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">html</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">head</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">title</span><span style="color:#117700">></span>$Title$<span style="color:#117700"></</span><span style="color:#117700">title</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">head</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">body</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">a</span> <span style="color:#0000cc">href</span>=<span style="color:#aa1111">"/hello"</span><span style="color:#117700">></span>hello<span style="color:#117700"></</span><span style="color:#117700">a</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">html</span><span style="color:#117700">></span></span></span>

2.2.2.controller

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#555555">@Controller</span>
<span style="color:#770088">public</span> <span style="color:#770088">class</span> <span style="color:#0000ff">HelloController</span> {
​<span style="color:#555555">@RequestMapping</span>(<span style="color:#aa1111">"/hello"</span>)<span style="color:#770088">public</span> <span style="color:#000000">ModelAndView</span> <span style="color:#000000">hello</span>() {<span style="color:#aa5500">//ModelAndView对象封装了模型数据和视图名称</span><span style="color:#000000">ModelAndView</span> <span style="color:#000000">mv</span> <span style="color:#981a1a">=</span> <span style="color:#770088">new</span> <span style="color:#000000">ModelAndView</span>();<span style="color:#aa5500">//添加数据,request.setAttribute(“hello”,”hello springmvc!!”)</span><span style="color:#000000">mv</span>.<span style="color:#000000">addObject</span>(<span style="color:#aa1111">"hello"</span>, <span style="color:#aa1111">"欢迎你 springmvc"</span>);<span style="color:#aa5500">//设置逻辑视图路径</span><span style="color:#000000">mv</span>.<span style="color:#000000">setViewName</span>(<span style="color:#aa1111">"success"</span>);<span style="color:#aa5500">//返回数据和视图</span><span style="color:#770088">return</span> <span style="color:#000000">mv</span>;}
}</span></span>

2.2.3.springmvc.xml

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#555555"><?xml</span> <span style="color:#555555">version="1.0" encoding="UTF-8"?></span>
<span style="color:#117700"><</span><span style="color:#117700">beans</span> <span style="color:#0000cc">xmlns</span>=<span style="color:#aa1111">"http://www.springframework.org/schema/beans"</span><span style="color:#0000cc">xmlns:xsi</span>=<span style="color:#aa1111">"http://www.w3.org/2001/XMLSchema-instance"</span> <span style="color:#0000cc">xmlns:p</span>=<span style="color:#aa1111">"http://www.springframework.org/schema/p"</span><span style="color:#0000cc">xmlns:context</span>=<span style="color:#aa1111">"http://www.springframework.org/schema/context"</span><span style="color:#0000cc">xmlns:mvc</span>=<span style="color:#aa1111">"http://www.springframework.org/schema/mvc"</span><span style="color:#0000cc">xsi:schemaLocation</span>=<span style="color:#aa1111">"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd</span><span style="color:#aa1111">http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd</span><span style="color:#aa1111">http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"</span><span style="color:#117700">></span><span style="color:#aa5500"><!-- 配置创建 spring 容器要扫描的包 --></span><span style="color:#117700"><</span><span style="color:#117700">context:component-scan</span> <span style="color:#0000cc">base-package</span>=<span style="color:#aa1111">"com.by"</span><span style="color:#117700">></</span><span style="color:#117700">context:component-scan</span><span style="color:#117700">></span>
​<span style="color:#aa5500"><!-- 配置视图解析器 --></span><span style="color:#117700"><</span><span style="color:#117700">bean</span> <span style="color:#0000cc">class</span>=<span style="color:#aa1111">"org.springframework.web.servlet.view.InternalResourceViewResolver"</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">property</span> <span style="color:#0000cc">name</span>=<span style="color:#aa1111">"prefix"</span> <span style="color:#0000cc">value</span>=<span style="color:#aa1111">"/WEB-INF/pages/"</span><span style="color:#117700">></</span><span style="color:#117700">property</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">property</span> <span style="color:#0000cc">name</span>=<span style="color:#aa1111">"suffix"</span> <span style="color:#0000cc">value</span>=<span style="color:#aa1111">".jsp"</span><span style="color:#117700">></</span><span style="color:#117700">property</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">bean</span><span style="color:#117700">></span>
​<span style="color:#aa5500"><!--开启springmvc注解支持:配置HandlerMapping和HandlerAdapter--></span><span style="color:#117700"><</span><span style="color:#117700">mvc:annotation-driven</span><span style="color:#117700">></</span><span style="color:#117700">mvc:annotation-driven</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">beans</span><span style="color:#117700">></span></span></span>

2.2.4.success.jsp

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#117700"><</span><span style="color:#117700">%@</span> <span style="color:#0000cc">page</span> <span style="color:#0000cc">contentType</span>=<span style="color:#aa1111">"text/html;charset=UTF-8"</span> <span style="color:#0000cc">language</span>=<span style="color:#aa1111">"java"</span> <span style="color:#0000cc">%</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">html</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">head</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">title</span><span style="color:#117700">></span>Title<span style="color:#117700"></</span><span style="color:#117700">title</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">head</span><span style="color:#117700">></span>
<span style="color:#117700"><</span><span style="color:#117700">body</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">h2</span><span style="color:#117700">></span>${msg}<span style="color:#117700"></</span><span style="color:#117700">h2</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">body</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">html</span><span style="color:#117700">></span></span></span>

2.2.5.web.xml

<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#555555"><?xml</span> <span style="color:#555555">version="1.0" encoding="UTF-8"?></span>
<span style="color:#117700"><</span><span style="color:#117700">web-app</span> <span style="color:#0000cc">xmlns</span>=<span style="color:#aa1111">"http://xmlns.jcp.org/xml/ns/javaee"</span><span style="color:#0000cc">xmlns:xsi</span>=<span style="color:#aa1111">"http://www.w3.org/2001/XMLSchema-instance"</span><span style="color:#0000cc">xsi:schemaLocation</span>=<span style="color:#aa1111">"http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"</span><span style="color:#0000cc">version</span>=<span style="color:#aa1111">"4.0"</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">servlet</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">servlet-name</span><span style="color:#117700">></span>springmvc<span style="color:#117700"></</span><span style="color:#117700">servlet-name</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">servlet-class</span><span style="color:#117700">></span>org.springframework.web.servlet.DispatcherServlet<span style="color:#117700"></</span><span style="color:#117700">servlet-class</span><span style="color:#117700">></span><span style="color:#aa5500"><!-- 配置初始化参数,用于读取 SpringMVC 的配置文件 --></span><span style="color:#117700"><</span><span style="color:#117700">init-param</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">param-name</span><span style="color:#117700">></span>contextConfigLocation<span style="color:#117700"></</span><span style="color:#117700">param-name</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">param-value</span><span style="color:#117700">></span>classpath:springmvc.xml<span style="color:#117700"></</span><span style="color:#117700">param-value</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">init-param</span><span style="color:#117700">></span><span style="color:#aa5500"><!-- 表示容器在启动时立即创建servlet对象 --></span><span style="color:#117700"><</span><span style="color:#117700">load-on-startup</span><span style="color:#117700">></span>1<span style="color:#117700"></</span><span style="color:#117700">load-on-startup</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">servlet</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">servlet-mapping</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">servlet-name</span><span style="color:#117700">></span>springmvc<span style="color:#117700"></</span><span style="color:#117700">servlet-name</span><span style="color:#117700">></span><span style="color:#117700"><</span><span style="color:#117700">url-pattern</span><span style="color:#117700">></span>/<span style="color:#117700"></</span><span style="color:#117700">url-pattern</span><span style="color:#117700">></span><span style="color:#117700"></</span><span style="color:#117700">servlet-mapping</span><span style="color:#117700">></span>
<span style="color:#117700"></</span><span style="color:#117700">web-app</span><span style="color:#117700">></span></span></span>

2.2.6.测试

访问:http://localhost:8080/hello

相关文章:

Spring MVC MVC介绍和入门案例

1.SpringMVC概述 1.1.MVC介绍 MVC是一种设计模式&#xff0c;将软件按照模型、视图、控制器来划分&#xff1a; M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为数据承载Bean&#xf…...

android使用ndk开发

ndk ndk sdk要单独下载和android sdk不同 https://developer.android.google.cn/ndk/downloads?hl=zh-cn 解压后添加ndk路径到path即可 gradle gradle下载太慢使用国内镜像 distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-all.zip 执行gradlew.ba…...

行为型设计模式——模板方法模式

学习难度&#xff1a;⭐ &#xff0c;比较常用 模板方法模式 在面向对象程序设计过程中&#xff0c;程序员常常会遇到这种情况&#xff1a;设计一个系统时知道了算法所需的关键步骤&#xff0c;而且确定了这些步骤的执行顺序&#xff0c;但某些步骤的具体实现还未知&#xff0…...

曲面上偏移命令的查找

今天学习老王的SW绘图时&#xff0c;遇到一个命令找不到&#xff0c;查询了一会终于找到了这个命令&#xff0c;防止自己忘记&#xff0c;特此记录一下&#xff0c;这个命令就是“曲面上偏移”&#xff0c;网上好多的教程都是错误的&#xff0c;实际上这个命令没有在曲面里面&a…...

世邦spon IP网络对讲广播系统任意文件上传漏洞

产品介绍 世邦通信IP网络对讲广播系统采用领先的IPAudio™技术,将音频信号以数据包形式在局域网和广域网上进行传送,是一套纯数字传输系统。 漏洞描述 spon IP网络对讲广播系统存在任意文件上传漏洞&#xff0c;攻击者可以通过构造特殊请求包上传恶意后门文件&#xff0c;从…...

mp4文件全部转换为mp3

问题 今天突发奇想&#xff0c;想把mp4视频转换为mp3来收听&#xff0c;于是想到了ffmpeg工具 步骤 安装ffmpeg环境 要在 Windows 上配置 FFmpeg 环境&#xff0c;你可以按照以下步骤进行操作&#xff1a; 下载 FFmpeg&#xff1a; 首先&#xff0c;你需要下载 FFmpeg 的 W…...

深信服技术认证“SCSA-S”划重点:逻辑漏洞

为帮助大家更加系统化地学习网络安全知识&#xff0c;以及更高效地通过深信服安全服务认证工程师考核&#xff0c;深信服特别推出“SCSA-S认证备考秘笈”共十期内容&#xff0c;“考试重点”内容框架&#xff0c;帮助大家快速get重点知识~ 划重点来啦 *点击图片放大展示 深信服…...

Linux grep命令教程:强大的文本搜索工具(附案例详解和注意事项)

Linux grep命令介绍 grep (Global Regular Expression Print)命令用来在文件中查找包含或者不包含某个字符串的行&#xff0c;它是强大的文本搜索工具&#xff0c;并可以使用正则表达式进行搜索。当你需要在文件或者多个文件中搜寻特定信息时&#xff0c;grep就显得无比重要啦…...

网络安全的威胁PPT

建议的PPT免费模板网站&#xff1a;http://www.51pptmoban.com/ppt/ 此PPT模板下载地址&#xff1a;https://file.51pptmoban.com/d/file/2023/03/20/1ae84aa8a9b666d2103f19be20249b38.zip 内容截图&#xff1a;...

CUDA驱动深度学习发展 - 技术全解与实战

全面介绍CUDA与pytorch cuda实战 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&#xff0c;项目管理专业人士&…...

如何做用户分层和标签体系

“活动作了一场接一场&#xff0c;简直要累死了&#xff0c;拉进来的客户也没有多少&#xff0c;投入产出完全不成比例&#xff0c;怎么办&#xff1f;“ “有那么多注册用户&#xff0c;但是GMV怎么才这么点&#xff0c;他们怎么不买啊&#xff0c;难道都是羊毛党&#xff1f;…...

Vue+Element Ui实现el-table自定义表头下拉选择表头筛选

用vueelement ui开发管理系统时&#xff0c;使用el-table做表格&#xff0c;当表格列过多的时候&#xff0c;想要做成可选表头的&#xff0c;实现表格列的筛选显示&#xff0c;效果如下&#xff1a; 代码文件结构&#xff1a; 废话不多说&#xff0c;直接上代码&#xff1a; 第…...

使用Java连接MongoDB (6.0.12) 报错

报错&#xff1a; Exception in thread "main" com.mongodb.MongoCommandException: Command failed with error 352: Unsupported OP_QUERY command: create. 上图中“The client driver may require an upgrade”说明了“客户端驱动需要进行升级”&#xff0c;解…...

数学建模day16-预测模型

本讲首先将介绍灰色预测模型&#xff0c;然后将简要介绍神经网络在数据预测中的应用&#xff0c;在本讲的最 后&#xff0c;我将谈谈清风大佬对于数据预测的一些看法。 注&#xff1a;本文源于数学建模学习交流相关公众号观看学习视频后所作 目录 灰色系统 GM(1,1)…...

Vue3响应式系统(一)

一、副作用函数。 副作用函数指的是会产生副作用的函数。例如&#xff1a;effect函数会直接或间接影响其他函数的执行&#xff0c;这时我们便说effect函数产生了副作用。 function effect(){document.body.innerText hello vue3 } 再例如&#xff1a; //全局变量let val 2f…...

MStart | MStart开发与学习

MStart | MStart开发与学习 1.学习 1.MStart |开机LOG显示异常排查及调整...

GoZero微服务个人探索之路(一)Etcd:context deadline exceeded原因探究及解决

产生错误原因就是与etcd交互时候需要指定&#xff1a; 证书文件的路径 客户端证书文件的路径 客户端密钥文件的路径 &#xff08;同时这貌似是强制默认就需要指定了&#xff09; 但我们怎么知道这三个文件路径呢&#xff0c;如下方法 1. 找到etcd的配置文件&#xff0c;里…...

C语言从入门到实战——结构体与位段

结构体与位段 前言一、结构体类型的声明1.1 结构体1.1.1 结构的声明1.1.2 结构体变量的创建和初始化 1.2 结构的特殊声明1.3 结构的自引用 二、 结构体内存对齐2.1 对齐规则2.2 为什么存在内存对齐2.3 修改默认对齐数 三、结构体传参四、 结构体实现位段4.1 什么是位段4.2 位段…...

java如何修改windows计算机本地日期和时间?

本文教程&#xff0c;主要介绍&#xff0c;在java中如何修改windows计算机本地日期和时间。 目录 一、程序代码 二、运行结果 一、程序代码 package com;import java.io.IOException;/**** Roc-xb*/ public class ChangeSystemDate {public static void main(String[] args)…...

flink中的row类型详解

在Apache Flink中&#xff0c;Row 是一个通用的数据结构&#xff0c;用于表示一行数据。它是 Flink Table API 和 Flink DataSet API 中的基本数据类型之一。Row 可以看作是一个类似于元组的结构&#xff0c;其中包含按顺序排列的字段。 Row 的字段可以是各种基本数据类型&…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...