-
Servlet三种创建方案
所属栏目:[语言] 日期:2022-07-19 热度:103
在 Servlet 中,一个动态网页对应一个 Servlet 类,我们可以通过 web.xml 配置文件将 URL 路径和 Servlet 类对应起来。访问一个动态网页的过程,实际上是将对应的 Servlet 类加载、实例化并调用相关方法的过程;网页上显示的内容,就是通过 Servlet 类中的[详细]
-
Servlet的布局和访问
所属栏目:[语言] 日期:2022-07-19 热度:121
Servlet 没有 main() 方法,不能独立运行,但它可以作为 JavaWeb 应用的一个组件被部署到 Servlet 容器中,由容器来实例化和调用 Servlet 的方法,例如:doGet() 、doPost() 等。 那么,JavaWeb 应用是什么呢?Servlet 是如何部署和访问的呢?本节我们将针[详细]
-
Eclipse创立Servlet项目
所属栏目:[语言] 日期:2022-07-19 热度:171
通过前面的学习,我们了解了如何在 Tomcat 目录下手动部署 Servlet,这种方式不但效率低下,而且容易出错。因此,在实际开发中,一般使用 IDE(集成开发环境)进行开发。 下面以 Eclipse 为例,演示如何快速创建 Servlet。 1. 创建动态 Web 项目 1)打开 E[详细]
-
@WebServlet注解 Servlet解析
所属栏目:[语言] 日期:2022-07-19 热度:100
在 Servlet 中,web.xml 扮演的角色十分的重要,它可以将所有的 Servlet 的配置集中进行管理,但是若项目中 Servelt 数量较多时,web.xml 的配置会变得十分的冗长。这种情况下,注解(Annotation)就是一种更好的选择。 与 XML 不同,注解不需要依赖于配置[详细]
-
Servlet虚拟途径映射
所属栏目:[语言] 日期:2022-07-19 热度:102
客户端通过 URL 地址来访问 Web 服务器中的资源,Servlet 程序若想被外界访问,就必须被映射到一个 URL 地址上。很多时候,该 URL 地址和 Servlet 程序的物理路径(在硬盘上的存储位置)并不一致,因此它被称为虚拟路径。Servlet 与虚拟路径的对应关系就叫[详细]
-
MVC设计模式说明
所属栏目:[语言] 日期:2022-07-19 热度:147
MVC 设计模式一般指 MVC 框架,M(Model)指数据模型层,V(View)指视图层,C(Controller)指控制层。使用 MVC 的目的是将 M 和 V 的实现代码分离,使同一个程序可以有不同的表现形式。其中,View 的定义比较清晰,就是用户界面。 在 Web 项目的开发中,[详细]
-
Spring MVC和Struts2的差异
所属栏目:[语言] 日期:2022-07-19 热度:195
Spring MVC 和 Struts2 类似,是一款基于传统 MVC 设计模式的 Java EE 框架。它的核心是一个弹性的控制层,能够很好地发挥 MVC 模式的分离显示逻辑和业务逻辑的能力。 而近年来越来越多的开发者选择使用 Spring MVC 技术来代替 Struts2 技术,那么相比于 S[详细]
-
Spring Boot JDBC寻访数据库
所属栏目:[语言] 日期:2022-07-19 热度:193
对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 都默认采用整合 Spring Data 的方式进行统一处理,通过大量自动配置,来简化我们对数据访问层的操作,我们只需要进行简单的设置即可实现对书层的访问。本节,我们[详细]
-
首个Spring MVC程序
所属栏目:[语言] 日期:2022-07-19 热度:198
本节通过一个简单的 Web 应用 springmvcDemo 来演示如何创建 Spring MVC 程序。 搭建步骤如下: 创建 Web 应用并引入 JAR 包,本教程 Spring 使用版本为 5.2.3 Spring MVC 配置:在 web.xml 中配置 Servlet,创建 Spring MVC 的配置文件 创建 Controller([详细]
-
Spring Boot默认异常处置
所属栏目:[语言] 日期:2022-07-19 热度:140
在日常的 Web 开发中,会经常遇到大大小小的异常,此时往往需要一个统一的异常处理机制,来保证客户端能接收较为友好的提示。Spring Boot 同样提供了一套默认的异常处理机制,本节将对它进行详细的介绍。 Spring Boot 默认异常处理机制 Spring Boot 提供了[详细]
-
Spring Boot日志配置与输出
所属栏目:[语言] 日期:2022-07-19 热度:197
通过上节的学习,我们了解了 Spring Boot 日志框架的选用及统一,本节我们将重点介绍 Spring Boot 日志的配置及输出。 默认配置 Spring Boot 默认使用 SLF4J+Logback 记录日志,并提供了默认配置,即使我们不进行任何额外配,也可以使用 SLF4J+Logback 进[详细]
-
Spring Boot默许配置文件
所属栏目:[语言] 日期:2022-07-19 热度:80
通常情况下,Spring Boot 在启动时会将 resources 目录下的 application.properties 或 apllication.yml 作为其默认配置文件,我们可以在该配置文件中对项目进行配置,但这并不意味着 Spring Boot 项目中只能存在一个 application.properties 或 applicati[详细]
-
IDEA建设Spring Boot项目
所属栏目:[语言] 日期:2022-07-19 热度:102
本节,我们将为您详细讲解如何使用 IDEA 创建一个 Spring Boot 项目。 配置开发环境 在使用 Spring Boot 进行开发之前,第一件事就是配置好开发环境。这里我们以 Windows 操作系统为例,如果您使用的是其他操作系统,请对照其相关设置进行操作。 工欲善其[详细]
-
Spring Boot叫做什么
所属栏目:[语言] 日期:2022-07-19 热度:190
众所周知 Spring 应用需要进行大量的配置,各种 XML 配置和注解配置让人眼花缭乱,且极容易出错,因此 Spring 一度被称为配置地狱。 为了简化 Spring 应用的搭建和开发过程,Pivotal 团队在 Spring 基础上提供了一套全新的开源的框架,它就是 Spring Boot[详细]
-
Spring MVC是啥
所属栏目:[语言] 日期:2022-07-19 热度:72
Spring MVC 是 Spring 提供的一个基于 MVC 设计模式的轻量级 Web 开发框架,本质上相当于 Servlet。 Spring MVC 是结构最清晰的 Servlet+JSP+JavaBean 的实现,是一个典型的教科书式的 MVC 构架,不像 Struts 等其它框架都是变种或者不是完全基于 MVC 系统[详细]
-
Spring MVC视图分析器 ViewResolver
所属栏目:[语言] 日期:2022-07-19 热度:98
视图解析器(ViewResolver)是 Spring MVC 的重要组成部分,负责将逻辑视图名解析为具体的视图对象。 Spring MVC 提供了很多视图解析类,其中每一项都对应 Java Web 应用中特定的某些视图技术。下面介绍一些常用的视图解析类。 上述 viewClass 值为 Intern[详细]
-
C++ STL distance 函数用法详解 一看就懂
所属栏目:[语言] 日期:2022-07-17 热度:103
我们知道,作用于同一容器的 2 个同类型迭代器可以有效指定一个区间范围。在此基础上,如果想获取该指定范围内包含元素的个数,就可以借助本节要讲的 distance() 函数。 distance() 函数用于计算两个迭代器表示的范围内包含元素的个数,其语法格式如下: t[详细]
-
C++ find_if 和find_if_not 函数用法详解
所属栏目:[语言] 日期:2022-07-17 热度:151
继《C++ find()函数》一节后,本节再讲解 2 个和 find() 功能类似的函数,分别为 find_if() 函数和 find_if_not() 函数。 值得一提的是,find_if() 和 find_if_not() 函数都定义在algorithm头文件中。因此在使用它们之前,程序中要先引入此头文件: #inclu[详细]
-
C++ find_end 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:154
find_end() 函数定义在algorithm头文件中,常用于在序列 A 中查找序列 B 最后一次出现的位置。例如,有如下 2 个序列: 序列 A:1,2,3,4,5,1,2,3,4,5 序列 B:1,2,3 通过观察不难发现,序列 B 在序列 A 中出现了 2 次,而借助 find_end() 函数,可以轻松的[详细]
-
C++ find_first_of 函数完全攻略
所属栏目:[语言] 日期:2022-07-17 热度:83
在某些情境中,我们可能需要在 A 序列中查找和 B 序列中任意元素相匹配的第一个元素,这时就可以使用 find_first_of() 函数。 仅仅用一句话概述 find_first_of() 函数的功能,读者可能并不理解。别急,下面我们将从语法格式的角度继续阐述该函数的功能。 f[详细]
-
C++ adjacent_find 函数用法详解
所属栏目:[语言] 日期:2022-07-17 热度:153
adjacent_find() 函数用于在指定范围内查找 2 个连续相等的元素。该函数的语法格式为: //查找 2 个连续相等的元素 ForwardIterator adjacent_find (ForwardIterator first, ForwardIterator last); //查找 2 个连续满足 pred 规则的元素 ForwardIterator[详细]
-
C++ search 函数用法完全攻略
所属栏目:[语言] 日期:2022-07-17 热度:182
通过《C++ find_end()函数》一节的讲解我们知道,find_end() 函数用于在序列 A 中查找序列 B 最后一次出现的位置。那么,如果想知道序列 B 在序列 A 中第一次出现的位置,该如何实现呢?可以借助 search() 函数。 search() 函数定义在algorithm头文件中,[详细]
-
C++ search_n 函数用法 超级详细
所属栏目:[语言] 日期:2022-07-17 热度:131
《C++ search()函数》一节中,已经详细介绍了 search() 函数的功能和用法。在此基础上,本节再介绍一个功能类似的函数,即 search_n() 函数。 和 search() 一样,search_n() 函数也定义在algorithm头文件中,用于在指定区域内查找第一个符合要求的子序列。[详细]
-
C++ partition 和stable_partition 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:71
partition 可直译为分组,partition() 函数可根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不符合筛选条件的数据。 举个例子,假设有一个数组 a[9],其存储数据如下: 1 2 3 4 5 6 7 8 9[详细]
-
C++ partition_copy 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:106
《C++ partition()和stable_partition()函数》一节中,已经详细介绍了 partition() 和 stable_partition() 函数的功能和用法。不知道读者是否发现,这 2 个函数在实现功能时,都直接修改了原序列中元素的存储位置。 而在某些场景中,我们需要类似 partitio[详细]