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

企业级信息系统开发学习笔记1.8 基于Java配置方式使用Spring MVC

文章目录

  • 零、本节学习目标
  • 一、基于Java配置与注解的方式使用Spring MVC
    • 1、创建Maven项目 - SpringMVCDemo2020
    • 2、在pom.xml文件里添加相关依赖
    • 3、创建日志属性文件 - log4j.properties
    • 4、创建首页文件 - index.jsp
    • 5、创建Spring MVC配置类 - SpringMvcConfig
    • 6、创建Web应用初始化配置类 - MyWebInitializer
    • 7、创建问候控制器 - HelloController
    • 8、配置Tomcat服务器
    • 9、启动服务器,查看效果
    • 10、 将Spring MVC配置类与Web应用初始化配置类放到config子包
  • 二、实战练习
    • 任务1、创建登录页面、登录成功与登录失败页面
      • 1、登录页面 - login.jsp
      • 2、登录成功页面 - success.jsp
      • 3、登录失败页面 - failure.jsp
    • 任务2、首页添加登录链接,单击可跳转到登录页面
      • 1、 修改首页,添加超链接
      • 2、修改Spring MVC配置类,定义视图控制器
      • 3、创建登录控制器 - LoginController
      • 4、启动服务器,查看效果
    • 任务3、添加静态资源,让Spring MVC正确处理
      • 1、在images目录里添加一张图片 - bear.jpg
      • 2、修改Spring MVC配置文件,添加静态资源映射
      • 3、修改首页文件,添加图片元素
      • 4、启动服务器,查看效果
      • 5、在js目录里创建脚本 - check.js
      • 6、修改Spring MVC配置文件
      • 7、修改登录页面,导入脚本文件
      • 8、启动服务器,查看效果
      • 9、在css目录里创建样式文件 - login.css
      • 10、修改Spring MVC配置文件
      • 11、修改登录页面,导入样式文件
      • 12、启动服务器,查看效果

零、本节学习目标

  1. 会基于Java配置与注解的方式使用Spring MVC
  2. 使用Spring与Spring MVC框架完成用户登录功能

上一讲,我们学习了如何基于XML配置与注解的方式使用Spring MVC,涉及到三个XML配置文件:Spring配置文件(spring-config.xml)、Spring MVC配置文件(spring-mvc-config.xml)、Web部署描述文件(web.xml),这一讲,我们通过案例学习如何基于Java配置与注解的方式使用Spring MVC,只有Java配置类,没有XML配置文件。

一、基于Java配置与注解的方式使用Spring MVC

1、创建Maven项目 - SpringMVCDemo2020

在这里插入图片描述
在这里插入图片描述

2、在pom.xml文件里添加相关依赖

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>net.hw.spring</groupId><artifactId>SpringDemo2020</artifactId><version>1.0-SNAPSHOT</version><properties><!-- spring.version --><spring.version>5.2.9.RELEASE</spring.version></properties><dependencies><!--Spring核心--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><!--Spring Bean--><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><!--Spring容器--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><!--Spring测试--><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!--Spring数据库支持--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><!--数据库驱动工具包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency><!--数据库连接池框架--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.24</version></dependency><!--日志框架--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!--Spring AOP--><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><!--AspectJ支持--><dependency><groupId>aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.5.4</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.6</version><scope>runtime</scope></dependency><!--单元测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency><!--Spring Web--><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><!--Spring MVC--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!--JSP标准标签库--><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--Servlet--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!--对json的支持--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.7</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.7</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.7</version></dependency><!--对xml的支持--><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.5.3</version></dependency></dependencies>
</project>

3、创建日志属性文件 - log4j.properties

  • 在resources目录里创建log4j.properties
    在这里插入图片描述
log4j.rootLogger=WARN, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

4、创建首页文件 - index.jsp

  • 在resources里创建templates子目录,然后在子目录里创建index.jsp
    在这里插入图片描述

5、创建Spring MVC配置类 - SpringMvcConfig

  • 创建net.hw.spring包,然后在里面创建SpringMvcConfig类
    在这里插入图片描述
package net.hw.spring;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
/*** 功能:Spring MVC配置类* 作者:华卫* 日期:2020年10月01日*/
@Configuration
@EnableWebMvc
@ComponentScan("net.hw.spring")
public class SpringMvcConfig implements WebMvcConfigurer {@Beanpublic InternalResourceViewResolver viewResolver () {InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setPrefix("/WEB-INF/classes/templates/");viewResolver.setSuffix(".jsp");viewResolver.setViewClass(JstlView.class);return viewResolver;}
}

6、创建Web应用初始化配置类 - MyWebInitializer

  • 现在Java配置方式在逐步取代XML配置方式,WebApplicationInitializer接口可以看做是web.xml的替代,通过实现WebApplicationInitializer接口,在其中可以添加servlet,listener等,在加载Web项目时会加载这个接口实现类,从而起到web.xml相同的作用。
    在这里插入图片描述
package net.hw.spring;import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;/*** 功能:Web应用初始化配置类* 作者:华卫* 日期:2020年10月01日*/
public class MyWebInitializer implements WebApplicationInitializer {@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {// 创建Web应用容器AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();// 注册配置类(配置类对应以前的spring-mvc-config.xml文件)context.register(SpringMvcConfig.class);// 与当前ServletContext关联context.setServletContext(servletContext);// 注册Spring MVC的前端控制器(DispatcherServlet)ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(context));// 过滤一切资源请求servlet.addMapping("/");// 设置启动加载顺序servlet.setLoadOnStartup(1);}
}

7、创建问候控制器 - HelloController

  • 在net.hw.spring包里创建controller子包,然后在里面创建HelloController类
    在这里插入图片描述
package net.hw.spring.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;/*** 功能:问候控制器* 作者:华卫* 日期:2020年10月01日*/
@Controller
public class HelloController {@RequestMapping("/hello")public String hello() {return "index";}
}

8、配置Tomcat服务器

  • 单击【Add Configuration…】
    在这里插入图片描述
  • 添加Tomcat Server - Local
    在这里插入图片描述
  • 单击【Fix】按钮
    在这里插入图片描述
  • 单击【OK】按钮
    在这里插入图片描述
  • 查看项目启动URL
    在这里插入图片描述

9、启动服务器,查看效果

在这里插入图片描述

10、 将Spring MVC配置类与Web应用初始化配置类放到config子包

在这里插入图片描述

二、实战练习

任务1、创建登录页面、登录成功与登录失败页面

在这里插入图片描述

1、登录页面 - login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>用户登录</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form id="frmLogin" action="login" method="post"><table class="tb" border="1" cellpadding="10" style="margin: 0px auto"><tr><td align="center">账号</td><td><input id="username" type="text" name="username"/></td></tr><tr><td align="center">密码</td><td><input id="password" type="password" name="password"/></td></tr><tr align="center"><td colspan="2"><input type="submit" value="登录"/><input type="reset" value="重置"/></td></tr></table>
</form>
</body>
</html>

2、登录成功页面 - success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>登录成功</title>
</head>
<body>
<h1>${username},登录成功!</h1>
</body>
</html>

3、登录失败页面 - failure.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>登录失败</title>
</head>
<body>
<h1>${username},登录失败!</h1>
</body>
</html>

任务2、首页添加登录链接,单击可跳转到登录页面

1、 修改首页,添加超链接

在这里插入图片描述

2、修改Spring MVC配置类,定义视图控制器

在这里插入图片描述

package net.hw.spring.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;/*** 功能:Spring MVC配置类* 作者:华卫* 日期:2020年10月01日*/
@Configuration
@EnableWebMvc
@ComponentScan("net.hw.spring")
public class SpringMvcConfig implements WebMvcConfigurer {@Beanpublic InternalResourceViewResolver viewResolver() {InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setPrefix("/WEB-INF/classes/templates/");viewResolver.setSuffix(".jsp");viewResolver.setViewClass(JstlView.class);return viewResolver;}/*** 添加视图控制器* @param registry*/@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/toLogin").setViewName("login");}
}

3、创建登录控制器 - LoginController

  • 在controller子包里创建LoginController类
    在这里插入图片描述
package net.hw.spring.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpSession;/*** 功能:登录控制器* 作者:华卫* 日期:2020年10月01日*/
@Controller
public class LoginController {@RequestMapping("/login")public String login(@RequestParam("username") String username,@RequestParam("password") String password,HttpSession session) {session.setAttribute("username", username);if (username.equals("admin") && password.equals("12345")) {return "success"; // 逻辑视图名} else {return "failure"; // 逻辑视图名}}
}

4、启动服务器,查看效果

在这里插入图片描述

任务3、添加静态资源,让Spring MVC正确处理

  • 在resources里创建static目录,在static里创建images、css和js目录

1、在images目录里添加一张图片 - bear.jpg

在这里插入图片描述

2、修改Spring MVC配置文件,添加静态资源映射

在这里插入图片描述

@Override                                                                  
public void addResourceHandlers(ResourceHandlerRegistry registry) {        registry.addResourceHandler("/images/**").                             addResourceLocations("classpath:/static/images/");              
}                                                                          

3、修改首页文件,添加图片元素

在这里插入图片描述

4、启动服务器,查看效果

在这里插入图片描述

5、在js目录里创建脚本 - check.js

在这里插入图片描述

/*** 检验登录表单* * @returns {Boolean}*/
function checkLoginForm() {	// 获取用户名文本框var username = document.getElementById("username");// 获取密码文本框var password = document.getElementById("password");// 非空校验if (username.value == "") {alert("用户名不能为空!");// 让用户名文本框获得焦点username.focus();return false;}if (password.value == "") {alert("密码不能为空!");// 让密码文本框获得焦点password.focus();return false;}	return true; // 表明可以提交数据到服务器端
}

6、修改Spring MVC配置文件

在这里插入图片描述

registry.addResourceHandler("/js/**").addResourceLocations("classpath:/static/js/");

7、修改登录页面,导入脚本文件

在这里插入图片描述

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>用户登录</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ><script src="js/check.js"></script>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form id="frmLogin" action="login" method="post"><table class="tb" border="1" cellpadding="10" style="margin: 0px auto"><tr><td align="center">账号</td><td><input id="username" type="text" name="username"/></td></tr><tr><td align="center">密码</td><td><input id="password" type="password" name="password"/></td></tr><tr align="center"><td colspan="2"><input type="submit" value="登录" onclick="return checkLoginForm()"/><input type="reset" value="重置"/></td></tr></table>
</form>
</body>
</html>

8、启动服务器,查看效果

在这里插入图片描述

9、在css目录里创建样式文件 - login.css

在这里插入图片描述

10、修改Spring MVC配置文件

在这里插入图片描述

registry.addResourceHandler("/css/**").addResourceLocations("classpath:/static/css/");

11、修改登录页面,导入样式文件

在这里插入图片描述

12、启动服务器,查看效果

在这里插入图片描述
在这里插入图片描述

相关文章:

企业级信息系统开发学习笔记1.8 基于Java配置方式使用Spring MVC

文章目录零、本节学习目标一、基于Java配置与注解的方式使用Spring MVC1、创建Maven项目 - SpringMVCDemo20202、在pom.xml文件里添加相关依赖3、创建日志属性文件 - log4j.properties4、创建首页文件 - index.jsp5、创建Spring MVC配置类 - SpringMvcConfig6、创建Web应用初始…...

【C语言复习】C语言中的文件操作

C语言中的文件操作写在前面文件操作什么是文件文件的分类文件名文件的操作文件指针文件的打开和关闭文件的顺序读写文件的随机读写fseekftellrewindfeof写在前面 文件操作在C语言部分只是属于了解内容&#xff0c;但是因为它可能会应用在项目中&#xff0c;所以我把它单独写成…...

00后整顿职场,当摸鱼测试员遇上了内卷00后。

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&…...

程序员的上帝视角(4)——视角

对于开发人员来说&#xff0c;工作都是从评估一个需求开始。我们第一个要解决的问题就是看待需求的视角。视角的不同&#xff0c;得到的设计方案可能是完全不同的。作为一个程序员&#xff0c;不能单单从个人视角来看待问题。而是要尝试从不同角色出发&#xff0c;不停思考。上…...

一、webpack基础

webpack基础 一、webpack是什么 webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。 说白了webpack就是一个构建和管理静态资源的工具&#xff0c;在我们使用框架开发时&#xff0c;它会在我们内部的一个或者多个入口根据我们引入的各个模块将他们根据一定的规…...

超详细VMware CentOS7(最小安装)安装教程

前言&#xff1a;在我们使用虚拟机的时候&#xff0c;不要去担心我们的一些操作会使虚拟机损坏或者有没有可能会使我们的电脑本身出现一些问题&#xff0c;要记住无论我们把我们的虚拟机如何都不会影响我们本身的机器&#xff0c;因为它只是虚拟的&#xff0c;在虚拟机里不要担…...

经典卷积模型回顾8—NIN实现图像分类(matlab)

首先&#xff0c;介绍一下NiN&#xff08;Network In Network&#xff09;模型。NiN模型是由加州大学伯克利分校的Lin、Chen、Yan等人在2013年提出的一种深度卷积神经网络模型&#xff0c;其特点是在传统的卷积神经网络中加入了多个小的全连接网络&#xff0c;用于对特征进行非…...

【Java笔记】泛型

本章专题与脉络 泛型概述 生活中的例子 举例1&#xff1a;中药店&#xff0c;每个抽屉外面贴着标签 举例2&#xff1a;超市购物架上很多瓶子&#xff0c;每个瓶子装的是什么&#xff0c;有标签 举例3&#xff1a;家庭厨房中&#xff1a; Java中的泛型&#xff0c;就类似于上…...

【Linux】用户管理

&#x1f60a;&#x1f60a;作者简介&#x1f60a;&#x1f60a; &#xff1a; 大家好&#xff0c;我是南瓜籽&#xff0c;一个在校大二学生&#xff0c;我将会持续分享C/C相关知识。 &#x1f389;&#x1f389;个人主页&#x1f389;&#x1f389; &#xff1a; 南瓜籽的主页…...

深入理解Mysql索引底层数据结构与算法

索引是帮助MySQL高效获取数据的排好序的数据结构 深入理解Mysql索引底层数据结构与算法1.常见的数据结构讲解1.1 二叉树1.1.1 二叉树的定义1.1.2 二叉树示例1.1.3 Mysql为什么不使用二叉树进行数据存储1.2 红黑树1.2.1 红黑树的定义1.2.2 红黑树示例1.2.3 Mysql 为什么不适用红…...

【SpringBoot高级篇】SpringBoot集成jasypt 配置脱敏和数据脱敏

【SpringBoot高级篇】SpringBoot集成jasypt数据脱敏配置脱敏使用场景配置脱敏实践数据脱敏pomymlEncryptMethodEncryptFieldEncryptConstantEncryptHandlerPersonJasyptApplication配置脱敏 使用场景 数据库密码直接明文写在application.yml配置中&#xff0c;对安全来说&…...

JAVA知识体系(二)

分布式&#xff1a; 微服务之间的通信 当前我们微服务架构中&#xff0c;微服务之间使用的三种通讯方式&#xff1a;代理访问&#xff0c;feign请求&#xff0c;消息队列 其中代理访问我们使用的是netflix-zuul&#xff0c;只要是对外暴露请求的所有网关&#xff0c;主要用在…...

Verilog 学习第八节(数码管段码显示)

共阴极数码管&#xff1a;低电平端接的都是0&#xff0c;高电平端哪里设置为1 &#xff0c;哪里就亮~ 共阳极数码管与之相反~ 视觉暂留&#xff1a; 对于三位的共阴极数码管 第0.01s&#xff1a;让数码管0的a段亮&#xff0c;其他数码管全灭 Sel0为高电平&#xff0c;sel1和sel…...

方案开发|快递吊钩电子秤方案

物流的发展为我们提供了生活的便利&#xff0c;足不出户仍可以感受天南地北的美食的特产&#xff0c;在现在这个时代已经是现实并发展成为常态的事情了。在物流发展的每一个环节中&#xff0c;吊钩电子秤也是它必不可缺的一环。人们在寄出物品前需要通过吊钩电子秤称量过重量&a…...

Spring-IOC容器初始化过程

Spring IOC容器的初始化过程:Resource定位,BeanDefinition载入,向IOC容器注册BeanDefinition。整个过程由refresh()方法触发,三个过程由不同的模块完成,使用户更加灵活的对这三个过程剪裁和扩展。 BeanDefinition 就是POJO对象在IOC容器中的抽象。通过BeanDefinition 这个…...

AspCms标签手册

网站通用标签{aspcms:sitepath} 网站终极目录(可放在二级目录,其它语言则在三级目录){aspcms:languagepath} 语言目录{aspcms:siteurl} 网站地址{aspcms:sitelogo} LOGO地址{aspcms:sitetitle} 网站标题{aspcms:additiontitle} 网站附加标题{aspcms:sitekeywords} 网站关键词{a…...

什么是Netty

一&#xff0e;Netty介绍 1.什么是netty Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架&#xff0c;用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架&#xff0c;Netty 在互联网领域、大数据分布式计算…...

SpringCloud:统一网关Gateway

目录 1、网关介绍 2、搭建网关服务 3、路由断言工厂 4、路由过滤器 5、全局过滤器GlobalFilter 6、过滤器执行顺序 7、跨域问题处理 1、网关介绍 网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连&#xff0c;是复杂的网络互 连设备&#xff0…...

【独家】华为OD机试 - 最差产品奖(C 语言解题)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...

​力扣解法汇总1599. 经营摩天轮的最大利润

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 你正在经营一座摩天轮&#xff0c;该摩天轮共有 4 个座舱 &#xff0c;每个座舱…...

MySQL-常见的五种索引

什么是索引&#xff1f; 百度百科&#xff1a;在关系数据库中&#xff0c;索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构&#xff0c;它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于…...

Linux学习第二十三节-压缩和解压缩和tar打包工具

1.压缩与解压缩&#xff08;不常用&#xff09;①Linux独有压缩格式及命令工具: gzip---> .gz bzip2---> .bz2 xz---> .xz②压缩命令格式&#xff1a; 压缩命令&#xff1a;gzip [选项] 文件名 常用选项&#xff1a;-d 解压缩 压缩命令&#xff1a;bzip2 [选项] 文件名…...

没有钱怎么创业?一分钱没有如何能创业成功?

限制人创业成功的从来都不是资金&#xff0c;而是能力&#xff0c;这个道理很多人都可能不懂&#xff0c;多数人习惯了庸庸碌碌、日复一日地打工行为&#xff0c;却不知如何创业&#xff0c;那么&#xff0c;没有钱怎么创业&#xff1f;一分钱没有如何能创业成功呢&#xff1f;…...

【操作系统原理实验】银行家算法模拟实现

选择一种高级语言如C/C等&#xff0c;编写一个银行家算法的模拟实现程序。1) 设计相关数据结构&#xff1b;2) 实现系统资源状态查看、资源请求的输入等模块&#xff1b;3) 实现资源的预分配及确认或回滚程序&#xff1b;4) 实现系统状态安全检查程序&#xff1b;5) 组装各模块…...

java医院云HIS系统:融合B/S版电子病历系统 能与公卫、PACS等各类外部系统融合

医院HIS系统源码 云HIS系统源码&#xff1a;SaaS运维平台完整文档 有源码&#xff0c;有演示 java基层医院云his系统 融合B/S版电子病历系统&#xff0c;支持电子病历4级 拥有自主知识产权。 看演示及源码可私信我哦&#xff01; 一、系统概述 一款满足二甲医院、基层医疗机构…...

单线激光雷达(SICK)驱动安装及时空标定

一、引言 1、AGV需要同时具备定位、避障与导航的功能&#xff0c;其中避障对于雷达本身的分辨率、精度要求并不是很高&#xff0c;只需要能够根据预设定的雷达扫描范围准确避开障碍物即可&#xff0c;故本文以TIM240&#xff08;SICK激光类雷达&#xff09;为例介绍实现多雷达…...

Java IO流

Java IO流 文章目录Java IO流什么是IO流InputStreamFlieInputStream示例OutputStream示例字符的读取与写入READER方法WRITER方法利用Scanner和PrintWriter简化字符的读写ScannerPrintWriter什么是IO流 前面我们介绍了Java中对文件的操作以及file类的了解&#xff0c;但是file类…...

LeetCode - 1653 使字符串平衡的最少删除次数

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 1653. 使字符串平衡的最少删除次数 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个字符串 s &#xff0c;它仅包含字符 a 和 b​​​​ 。 你可以删除 s 中任意数目的字符&#xff0c;使得 …...

【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…...

《超导电子技术及其应用》学习日志(二)

约瑟夫森效应 约瑟夫森理论 约瑟夫森方程 &#xff08;1&#xff09;每一个库柏对都可视为质量为2m、电量为2e的复合载流子&#xff0c;定向运动速度v就是库柏相对质心的速度。处于超导态的库柏对凝聚于同一量子态&#xff0c;运载电流时具有完全相同的动量P。用微观波函数来…...

北京市工程建设信息网/厦门seo公司到1火星

/* 二分法求解题意&#xff1a;对给定表达式求解。注意&#xff1a;①精度值的使用。 */ #include <cstdio> #include <cmath> int p,q,r,s,t,u; double f(double x) {return p*exp(-x)q*sin(x)r*cos(x)s*tan(x)t*x*xu; } int main() {//freopen("f://data.in…...

转转怎么做钓鱼网站/阳西网站seo

推土机很好,请参阅Jean-Remy的回答.此外,如果变量根据JavaBeans标准具有getter和setter,那么有许多技术可以帮助您,例如&#xff1a; Apache Commons / BeanUtils示例代码(未测试)&#xff1a;final Map aProps BeanUtils.describe(a);final Map bProps BeanUtils.describe(b…...

精简新闻网站开发/体育新闻最新消息

准备技术&#xff1a; WCF服务契约、数据契约等基础知识 Donet基本开发 内容概要&#xff1a; 三种实例激活类型 单调服务 会话服务 单例服务 实例类型 WCF支持三种实例类型&#xff1a;PerCall、PerSession、Single。PerCall就是单调服务会为每次客户端的请求去分配一个新的服…...

国外的外贸b2b网站有哪些/北京seo教师

Python 操作 Excel 教程&#xff08;1&#xff09; | 向单元格写入数据今天&#xff0c;我们开始学习使用 Python 来操作 Excel 表格&#xff0c;我在前面的文章写过&#xff0c;Go语言的Excelize,还有Python语言的OpenpyXl、Pandas和xlwings都可以作为 VBA 的替代&#xff0c;…...

洛阳市伊滨区建设局网站/球队世界排名榜

令牌桶算法 令牌桶算法(Token Bucket)和 Leaky Bucket 效果一样但方向相反的算法,更加容易理解.随着时间流逝,系统会按恒定1/QPS时间间隔(如果QPS100,则间隔是10ms)往桶里加入Token(想象和漏洞漏水相反,有个水龙头在不断的加水),如果桶已经满了就不再加了.新请求来临时,会各自拿…...

营销网站建设评估及分析/百度网址大全首页链接

目录 1.视图对象 1.1创建视图 1)简单视图 2&#xff09;建立只读视图 3&#xff09;复杂视图 1.2管理视图 1&#xff09;查看视图定义 2&#xff09;修改视图定义 3&#xff09;重新编译视图 4&#xff09;删除视图 2.索引 2.1索引概述 2.2创建索引 1&#xff09…...