网站建设课设心得申请网站建设经费的报告

张小明 2025/12/31 21:28:17
网站建设课设心得,申请网站建设经费的报告,泰安约吧,宁夏固原住房和建设局网站1. springboot项目和[maven]项目的区别#xff1f;#xff08;1#xff09;打包方式#xff1a;传统项目如果需要打成[war 包]#xff0c;需要在[WEB-INF 目录]结构配置 web.xml 文件#xff1b;springboot 则不需要 #xff08;2#xff09;项目启动方式#xff1a;传…1. springboot项目和[maven]项目的区别1打包方式传统项目如果需要打成[war 包]需要在[WEB-INF 目录]结构配置 web.xml 文件springboot 则不需要 2项目启动方式传统[web 项目]启动方式在 eclipse 和 tomcat 插件中导入项目然后启动 tomcat项目也启动了。或者将项目打成[war 包]放入 tomcat 中启动 tomcat。采用 springboot 项目启动如下图所示打开HelloWorldApplication.java这个类每个项目都有类名自定这是一个带有 main 方法的类点击 main 方法右键 run as -java application。3配置文件的区别二者的配置文件都是放在 src/main/resources 下面 传统项目配置文件较多必须包含 applicationContext.xml 这个核心配置文件 采用 springboot 项目配置文件较少相比传统项目可以说配置文件极少必须包含 application.properties或者是 application.yml这个配置文件2. spring mvc 工作流程1、首先用户发送请求到前端控制器前端控制器根据请求信息如 URL来决定选择哪一个页面控制器进行处理并把请求委托给它即以前的控 #技术分享制器的控制逻辑部分2、页面控制器接收到请求后进行功能处理首先需要收集和绑定请求参数到一个对象这个对象在 Spring Web MVC 中叫命令对象并进行验证然后将命令对象委托给业务对象进行处理处理完毕后返回一个 ModelAndView模型数据和逻辑视图名3、前端控制器收回控制权然后根据返回的逻辑视图名选择相应的视图进行渲染并把模型数据传入以便视图渲染4、前端控制器再次收回控制权将响应返回给用户。3. 请简述一下IO流IO 流用来处理设备之间的数据传输Java 程序中对于数据的输入/输出操作 都是以“流”的方式进行的。java.io 包下提供了各种“流”类的接口用以获取不同种类的数据并通过标准的方法输入或输出数据。对于计算机来说数据都是以二进制形式读出或写入的。我们可以把文件想象为一个桶我们可以通过管道将桶里的水抽出来。这里的管道也就相当于 Java 中的流。流的本质是一种有序的数据集合有数据源和目的地。输入读取外部数据磁盘、光盘等存储设备的数据到程序内存中。输出将程序内存数据输出到磁盘、光盘等存储设备中。流的分类按照流的方向输出输入都是站在程序所在内存的角度划分的 输入流只能从中读数据 输出流只能向文件中写数据字节流将数据解释为原始的二进制数据 读写均为字节数据二进制数据不需要编码和解码比文本 Io 效率更高可移植与主句编码方式无关字符流将数据解释为字符数据字符流将原始数据解析成一种字符文本数据存储 依赖文件编码方式它输入输出需要编码解码。篇幅限制下面就只能给大家展示小册部分内容了。整理了一份核心面试笔记包括了Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题需要全套面试笔记及答案可以在文末获取4. 关系型数据库和非关系型数据库关系型数据库最典型的数据结构是表由二维表及其之间的联系所组成的一个数据组织。当今十大主流的关系型数据库 OracleMicrosoft SQL ServerMySQLPostgreSQLDB2Microsoft AccessSQLiteTeradataMariaDB(MySQL 的一个分支)SAP优点1、易于维护都是使用表结构格式一致2、使用方便SQL 语言通用可用于复杂查询3、复杂操作支持 SQL可用于一个表以及多个表之间非常复杂的查询。缺点1、读写性能较差尤其是海量数据的高效率读写2、硬盘 I/O 要求高网站的用户并发性非常高往往达到每秒上万次读写请求对于传统关系型数据库来说硬盘 I/O 是一个很大的瓶颈 3、拓展困难 4、性能欠佳在关系型数据库中导致性能欠佳的最主要原因是多表的关联查询以及复杂的数据分析类型的复杂 SQL 报表查询。为了保证数据库的 ACID 特性原子性、一致性、隔离性、持久性必须尽量按照其要求的范式进行设计关系型数据库中的表都是存储一个格式化的数据结构。非关系型数据库指非关系型的分布式的且一般不保证遵循 ACID 原则的数据存储系统。非关系型数据库严格上不是一种数据库应该是一种数据结构化存储方法的集合可以是文档或者键值对等。优点1、格式灵活存储数据的格式可以是 key,value 形式、文档形式、图片形式等等文档形式、图片形式等等使用灵活应用场景广泛而关系型数据库则只支持基础类型。2、查询便捷可以根据需要去添加自己需要的字段为了获取用户的不同信息不像关系型数据库中要对多表进行关联查询。仅需要根据 id 取出相应的 value 就可以完成查询。3、速度快nosql 可以使用硬盘或者随机存储器作为载体而关系型数据库只能使用硬盘4、高扩展性Nosql 基于键值对数据之间没有耦合性所以非常容易水平扩展。关系型数据库有类似 join 这样的多表查询机制的限制导致扩展很艰难。5、成本低nosql 数据库部署简单基本都是开源软件。缺点1、不提供 sql 支持学习和使用成本较高2、无事务处理3、只适合存储一些较为简单的数据对于需要进行较复杂查询的数据关系型数据库显的更为合适。4、不适合持久存储海量数据常见的非关系型数据库有 redismongdbHbase。5. MySQL数据库优化 SQL选择正确的存储引擎。每个引擎都有利有弊比如 MyISAM 适用于大量查询对大量写操作并不是很好 update 一个字段都会把整个表锁起来而I nnodb 对一些小的应用它比 MyISAM 慢但它支持行锁再写操作的时候很优秀它还支持更多的高级应用。优化字段的数据类型一个原则越小的越快如果一个表只有几列那我们就不用用 INT 来做主键可以使用 MEDIUMINT SMALLINT 或是更小的 TINYINT 会更经济一些如果不需要记录时间使用 DATE 要比 DATETIME 好的多也要留够足够的空间进行扩展。为搜索字段添加索引索引不一定只添加给主键或唯一的字段如果在表中有某个字段经常用来做搜索那就为它建立索引如果要搜索的字段是大的文本字段那应该为它建立全文索引。避免使用 select * 因为从数据库读出的数据越多那么查询就会越慢。如果数据库服务和WEB服务器在不同的机器上的话还会增加网络传输的负载。即使要查询表的所有字段也尽量不要用 * 通配符。使用 ENUM 而不是 VARCHARENUM 类型是非常快和紧凑的它保存的是 TINYINT 但外表上显示的是字符串做一些选项列表很好比如性别民族部门状态之类的字段取值有限而且固定。尽可能使用 NOT NULLNULL 其实也需要额外空间的在进行比较的时候程序也会变得复杂并不是并不可以用 NULL 在现实的复杂情况下依然会有些情况需要使用 NULL 值。固定长度的表会更快如果表中的所有字段都是固定长度的那整个表会被认为是 “static” 或“ fixed-lenght” 。例如表中没有 VARCHAR TEXT BLOB 只要表中其中一个字段是这些类型那么这个表就不是“固定长度静态表”了这样的话 MySQL 引擎会用另一种方法来处理。固定长度的表也容易被缓存和重建唯一的副作用就是固定长度的字段会浪费一些空间因为固定长度的字段无论用不用都会分配那么多的空间。为什么要避免使用 join 查询减少消耗。对于大流量网站如何解决各页面统计访问量问题确认服务器是否能支撑当前访问量优化数据库访问禁止外部访问如图片盗链控制文件下载使用不同主机进行分流使用浏览统计软件了解访问量有针对性的进行优化SQL 注入的主要特点变种极多攻击简单危害极大。未经授权操作数据库的数据。恶意篡改网页。网页挂木马。私自添加系统账号或是数据库使用者账号。优化数据库的方法选取最适合的字段属性尽可能减少定义字段宽度尽量把字段设成 NOT NULL 。使用 exists 替代 in 用 not exists 替代 not in 。使用连接 JOIN 来替代子查询。适用联合 NUION 来代替手动创建的临时表。事务处理。锁定表优化事务处理。适当用外键优化锁定表。建立索引。优化查询语句。数据库中的事务是什么事务作为一个单元的一组有序的数据操作如果组中的所有操作都完成则认定事务成功即使只有一个失败事务也不成功。如果所有操作完成事务则进行提交其修改将作用于所有其他数据库进程。如果一个操作失败则事务将回滚该事务所有的操作的影响都会取消。ACID 四大特性原子性不可分割事务要么全部被执行要么全部不执行。一致性事务的执行使得数据库从一种正确的状态转换成另一种正确的状态。隔离性在事务正确提交前不允许把该事务对数据的任何改变提供给任何其他事务。持久性事务正确提交后将结果永久保存到数据库中即使在事务提交后有了其他故障事务处理结果也会得到保存。索引的目的是什么快速访问数据表中特定信息提高检索速度。创建唯一性索引保证每一行数据的唯一性。加速表和表之间的连接。使用分组和排序子句进行数据检索时可显著的减少分组和排序的时间。对 SQL 语句的优化方法避免在索引列上使用计算。避免在索引列上使用 IS NULL 和 IS NOT NULL 。对查询进行优化尽量避免全表扫描首先因该考虑在 where 和 order by 涉及的列上建立索引。避免在 where 子句对字段进行null值判断这件导致引擎放弃使用索引而进行全表扫描。避免在 where 子句中对字段进行表达式操作也会导致引擎放弃使用索引而进行全表扫描。char 和 varchar 的区别char 类型的数据列里每个值都占 M 个字节如果长度小于 M就会在它的右边用空格字符进行补足在检索操作中填补出来的空格符将会被去掉。vachar 类型的数据列里每个值只占用刚好够用的字节再加上一个用来记录长度的字节所以总长度为 L1 字节。SQL 问题脏读在一个事务处理过程中读取到了另一个未提交事务中的数据。【例子】A 在一个转账事务中转了100给 B此时 B 读到了这个转账的数据然后做了一些操作给 A 发货或是其他可是这个时候 A 的事务并没有提交如果 A 回滚了事务那这就是脏读。不可重复读对数据库中的某个数据一个事务范围内多次查询却返回了不同的数据值是由于在查询间隔被另一个事务修改并提交了。【示例】事务 A 在读取某一数据而事务 B 立马修改了这个数据并且提交了事务到数据库事务 A 再次读取就得到了不同的结果。发生了不重复读。幻读事务非独立执行时发生的一种现象。【示例】事务 A 对一个表中所有的行的某个数据项做了从“1”修改为“2”的操作这时事务 B 又对这个表中插入了一行数据项这个数据的数值还是“1”并且提给了数据库如果事务 A 查看刚刚修改的数据会发现还有一数据没有修改而这行数据时事务 B 中添加的就像产生的幻觉一样。发生了幻读。MySQL 事务隔离级别read uncmmited 读到未提交数据最低级别无法保证任情况read commited 读已提交可避免脏读repeatable read 可重复读可避免脏读、不可重复读serializable 串行事务可避免脏读、不可重复读、幻读MySQL 默认事务隔离级别为 Repeatable Read可重复读】MySQL 临时表什么是临时表临时表是 MySQL 用于存储中间结果集的表临时表只在当前连接可看当连接关闭时会自动删除表并释放所有空间。为什么会产生临时表一般是因为复杂的 SQL 导致临时表被大量创建6. MyBatis简介MyBatis 是一款优秀的持久层框架一个半 ORM对象关系映射框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJOPlain Old Java Objects普通老式 Java 对象为数据库中的记录。ORMObject Relational Mapping对象关系映射是一种为了解决关系型数据库数据与简单 Java 对象POJO的映射关系的技术。简单的说ORM 是通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系型数据库中。为什么说 Mybatis 是半自动 ORM 映射工具它与全自动的区别在哪里Hibernate 属于全自动 ORM 映射工具使用 Hibernate 查询关联对象或者关联集合对象时可以根据对象关系模型直接获取所以它是全自动的。而 Mybatis 在查询关联对象或关联集合对象时需要手动编写 sql 来完成所以称之为半自动 ORM 映射工具。JDBC 开发存在的问题频繁创建数据库连接对象、释放容易造成系统资源浪费影响系统性能。可以使用连接池解决这个问题。但是使用 jdbc 需要自己实现连接池。sql 语句定义、参数设置、结果集处理存在硬编码。实际项目中 sql 语句变化的可能性较大一旦发生变化需要修改 java 代码系统需要重新编译重新发布。不好维护。使用 preparedStatement 向占有位符号传参数存在硬编码因为 sql 语句的 where 条件不一定可能多也可能少修改 sql 还要修改代码系统不易维护。结果集处理存在重复代码处理麻烦。如果可以映射成 Java 对象会比较方便。JDBC 编程有哪些不足之处MyBatis 是如何解决这些问题的1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能如果使用数据库连接池可解决此问题。解决在 mybatis-config.xml 中配置数据链接池使用连接池管理数据库连接。2、Sql 语句写在代码中造成代码不易维护实际应用 sql 变化的可能较大sql 变动需要改变 java 代码。解决将 Sql 语句配置在 XXXXmapper.xml 文件中与 java 代码分离。3、向 sql 语句传参数麻烦因为 sql 语句的 where 条件不一定可能多也可能少占位符需要和参数一一对应。解决Mybatis 自动将 java 对象映射至 sql 语句。4、对结果集解析麻烦sql 变化导致解析代码变化且解析前需要遍历如果能将数据库记录封装成 pojo 对象解析比较方便。解决Mybatis 自动将 sql 执行结果映射至 java 对象。Mybatis 优缺点优点与传统的数据库访问技术相比ORM 有以下优点基于 SQL 语句编程相当灵活不会对应用程序或者数据库的现有设计造成任何影响SQL 写在 XML 里解除 sql 与程序代码的耦合便于统一管理提供 XML 标签支持编写动态 SQL 语句并可重用 与 JDBC 相比减少了50%以上的代码量消除了 JDBC 大量冗余的代码不需要手动开关连接 很好的与各种数据库兼容因为 MyBatis 使用 JDBC 来连接数据库所以只要 JDBC 支持的数据库 MyBatis 都支持 提供映射标签支持对象与数据库的 ORM 字段关系映射提供对象关系映射标签支持对象关系组件维护 能够与 Spring 很好的集成缺点SQL 语句的编写工作量较大尤其当字段多、关联表多时对开发人员编写 SQL 语句的功底有一定要求 SQL 语句依赖于数据库导致数据库移植性差不能随意更换数据库MyBatis 编程步骤是什么样的1、创建 SqlSessionFactory2、通过 SqlSessionFactory 创建 SqlSession3、通过 sqlsession 执行数据库操作4、调用 session.commit()提交事务5、调用 session.close()关闭会话篇幅限制下面就只能给大家展示小册部分内容了。整理了一份核心面试笔记包括了Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题需要全套面试笔记及答案可以点击下方名片获取
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站背景图片浪漫爱情做搜狗网站优化首

对于设备制造企业,售后服务是竞争力的重要组成部分。然而,服务过程常常依赖工程师个人经验,客户问题历史难以查询,备件需求预测不准,导致响应慢、成本高、客户满意度低。盘活企业内部已有的客户服务数据,是…

张小明 2025/12/31 21:28:15 网站建设

网站建设定金合同西安网站维护招聘

Xenos终极指南:5步掌握Windows DLL注入核心技术 【免费下载链接】Xenos Windows dll injector 项目地址: https://gitcode.com/gh_mirrors/xe/Xenos 还在为Windows系统下的动态链接库加载而烦恼?Xenos作为专业的DLL注入工具,为开发者和…

张小明 2025/12/31 21:27:43 网站建设

白帽网站湖南至诚建设机械有限公司网站

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

张小明 2025/12/31 21:27:11 网站建设

番禺制作网站技术短视频广告分析

Conda环境命名规范建议:Miniconda-Python3.9助力团队协作 在人工智能与数据科学项目日益复杂的今天,一个看似微不足道的细节——虚拟环境的命名方式——往往成为团队协作效率的隐形瓶颈。你是否经历过这样的场景?某位同事提交了一段无法运行的…

张小明 2025/12/31 21:26:39 网站建设

直播网站怎么做的温州专业营销网站制作

在编程世界中,字体选择往往被忽视,但它却是影响编码效率和舒适度的关键因素。Monaspace作为一款革命性的等宽字体超家族,通过五个风格迥异的字体变体,为不同编程场景和个性偏好提供了精准解决方案。本文将带您深入探索这个字体系统…

张小明 2025/12/31 21:26:06 网站建设

flask做视频网站做企业网站要怎么设计方案

蚁群算法单无人机三维地图路径规划。 包含无人机自身的约束条件如飞行高度,水平偏转角,垂直偏转角等,仿真结果更稳定,更优 代码里面有注释在无人机领域,路径规划一直是个关键问题。想象一下,无人机在三维空…

张小明 2025/12/31 21:25:35 网站建设