基于JAVA-JSP的电子书下载系统设计与实现

点击下载源码

基于JAVA-JSP电子书下载系统

目 录
第1章 绪论 1
课题的研究背景、内容和意义 1
第2章 主要技术概述 3
2.1 B/S结构 3
2.2 JSP技术 4
2.2.1 JSP技术的强势 5
2.2.2 JSP技术的弱势 5
2.3 SQL SERVER 2000数据库 5
2.4 JDBC数据库连接 6
2.4.1 JDBC接口 7
2.4.2 JDBC的驱动程序 7
2.5 TOMCAT应用服务器 8
第3章 需求分析 10
3.1.1 用户及主要操作功能 10
3.1.2 系统角色管理模块 10
包括系统管理员模块和会员模块 10
3.1.3 电子书管理模块 10
3.1.4 公告模块 11
3.2 系统性能需求分析 11
3.3 开发环境及开发工具 11
第4章 概要设计 12
4.1 系统的体系结构 12
4.2 系统功能结构设计 12
4.2.1 管理员模块 14
4.2.2 会员模块 14
4.3 系统流程图 15
4.3.1 会员管理 15
4.4 数据库设计 16
第5章 详细设计 19
5.1 公告管理模块 19
5.1.1 浏览公告 19
5.1.2 发布公告 20
5.1.3 管理公告 21
5.2 会员模块 23
5.2.1 会员注册 23
5.2.2 点券充值 25
点券充值的核心代码如下: 25
5.2.3 搜索和下载书籍 27
5.3 书籍管理模块 29
5.3.1 电子书类别的管理 29
5.3.2 电子书管理 31
5.3 留言版模块 33
5.4 通用模块 34
5.4.1 登录、修改个人信息及注销退出 35
5.4.2 数据库的连接接 35
5.5 小结 37
第6章 系统测试 38
6.1 公告管理模块 38
6.1.1 公告的浏览 38
6.1.2 公告的添加 38
6.1.3 公告的编辑、删除 38
6.2 会员管理模块 38
6.2.1 成员注册 38
6.2.2 点券充值 39
6.2.3 搜索书籍 39
6.3 书籍管理模块 39
6.3.1 电子书类别的管理 39
6.3.2 电子书管理 39
6.3.3 留言版 39
第7章 结论与展望 40
参考文献 41
致 谢 42

第1章 绪论
课题的研究背景、内容和意义
电子书代表人们所阅读的数字化出版物, 从而区别于以纸张为载体的传统出版物, 电子书是利用计算机技术将一定的文字、图片、声音、影像等信息, 通过数码方式记录在以光、电、磁为介质的设备中, 借助于特定的设备来读取、复制、传输,已经为人们所熟悉。
众所周知,自20世纪80年代以来,电子图书的出现和迅速发展已经引起社会各界的普遍关注。在信息社会化和社会信息化的今天,电子图书极大地刺激了传统图书出版、发行市场,改变了读者阅读习惯,给人类社会文化和社会生活带来了深刻的变革。一般情况下,阅读电子图书主要有两种形式,一种是在线或在PC机上阅读,即通过台式电脑或笔记本电脑直接阅读网站提供的免费或付费的电子图书,也可以下载到本地计算机上阅读;另一种是离线或脱机阅读,即通过使用专用的手持阅读器阅读。手持阅读器具有体积小,分量轻,容易携带的特点,不受时间、地点、环境的限制。而且,随着阅读器材技术、内容、格式的日臻完善,电子图书必将展示其更为广阔的发展空间。
对比传统的图书出租的书店,电子书租借平台有许多的优越性。对租借者来说,方便了大家租借图书的途径,不必走出家门,只需有一台电脑,一根网线,连上网就可以访问因特网上大量的电子书网站。随着因特网发展和上网用户的增加,农村也已开始有越来越多的网络连接,上网早已不是难事,所以,一个网络的电子书租借平台可以适应大众的需求。对于管理者来说,便于管理,运营成本低,没有地域限制。总之,电子书租借平台有着很高的灵活性和方便性,随着社会的发展,会为越来越多的人所接受,有着极高的应用前景。
在国外,电子图书的发展体现在阅读软件和阅读硬件两个方面。阅读软件主要指在线阅读器,阅读硬件一般是手持式阅读器,也包括手机。各软硬件生产厂商为了更好的吸引消费者,在这上面都下了不小的精力来完善自己产品的功能,保证产品质量和提高其可用性,竞争也比较激烈。
在国内,最为普遍的电子书阅读终端是PC,手机阅读电子书的方式也在逐渐增加,而专用的手持阅读器还有待推广。国内已经出现了很多的电子书网站,比较出名的有晋江文学、潇湘书院、小说阅读网等,内容包括一些原创,各类小说和国内外名著。为了自身发展,网站往往和一些网络作家签约,网络作家在签约网站发表自己的原创并获得不低的著作费,这样也丰富了网站的内容,更好地吸引读者,达到双赢的目的。网站盈利的方式主要是向读者收取阅读费,收费方式不尽相同,一般分为按字数收取,按本数收取和按时间收取费用,所以,拥有一个广大的用户群是保证网站持续良好发展的基础。网站也可以靠出租广告位置获得额外的利益,但是过多的广告,会影响网页的美观简洁,一些弹窗广告甚至会影响读者的操作,给用户造成不必要的麻烦,所以广告的投放一般不会过多。

第2章 主要技术概述

2.1 B/S结构
B/S 是 Brower/Server 就是用浏览器(如IE)为应用程序客户端操作服务器。这样用浏览器来操作简单易用,但是对输入没有很好的验证。逻辑实现不多。本地只是用于获取数据然后大部分验证需要提交服务器来完成。
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构[4]。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
B/S架构软件的优势与劣势:
(1)维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
(2)成本降低,选择更多。
大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
(3)应用服务器运行数据负荷较重。
由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

2.2 JSP技术
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览[5]。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。

2.2.1 JSP技术的强势
(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

2.2.2 JSP技术的弱势
(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

2.3 SQL Server 2000数据库
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
SQL Server 2000 系统之间之所以成为目前流行的大型商用数据库系统,有着其深刻的内在因素,这与它鲜明的特点是分不开的:
①与Internet 的高度集成。
SQL Server 2000与其它Microsoft Back Office产品紧密集成,在安全、事件浏览、Windows NT服务程序、性能监视器、多处理器支持、索引服务器等方面充分利用了它们的长处,形成了自己独特的优势。
②高伸缩性和适应性。
同一SQL Server 2000数据库引擎运行在Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server、Windows 98和Windows Millennium Edition上。还运行在Windows NT 4.0版的所有版本上。此数据库引擎是一个功能强健的服务器,可管理供上千用户访问的TB数据库。同时,当以默认设置运行时,SQL Server 2000还具有动态自调整等功能,这使得它可以有效地运行在便携式电脑和台式机中,用户无需承担管理任务。SQL Server 2000 Windows CE版将SQL Server 2000程序设计模型扩展到移动的Windows CE设备上,并且可以很容易地集成到SQL Server 2000环境中。
③企业级数据库功能强。
SQL Server 2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护资料完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000分布式查询使您得以引用来自不同资料源的资料,就好象这些资料是SQL Server 2000数据库的一部分,同时分布式事务支持充分保护任何分布式资料更新的完整性。复制同样使您得以维护多个资料复本,同时确保单独的资料复本保持同步。可将一组资料复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
④易于安装和使用。
SQL Server 2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。SQL Server 2000还支持基于标准的、与Windows DNA集成的程序设计模型,使SQL Server 2000数据库和资料仓库的使用成为生成强大的可伸缩系统的无缝部分。
⑤具有决策支持的资料仓库。
SQL Server 2000提供了数据转换服务、联机分析处理(OLAP)、数据挖掘支持、English Query、Meta Data Services等等工具,以便对数进行析取、分析汇总资料并对数据库的设计提供帮助。

2.4 JDBC数据库连接
JDBC(Java DataBase Connectivity)称为Java数据库连接,它是一种用于数据库访问的应用程序API,由一组用Java语言编写的类和接口组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。
JDBC定义了Java语言同SQL数据之间的程序设计接口。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC可做三件事:与数据库建立连接、发送SQL语句,处理结果。

2.4.1 JDBC接口
一般来说,JDBC API中有两层接口:应用程序层,开发人员用API通过SQL调用数据库和取得结果;驱动程序层,处理与具体驱动程序版本的所有通讯。
JDBC API是一系列抽象的接口,应用程序开发人员通过它可以编写访问数据库的Java应用程序。JDBC API中,抽象类的实现是由驱动程序开发商提供的。驱动程序实现了应用程序和某个数据库产品之间的接口,它的管理器则对应用程序和驱动程序之间的交互进行控制。JDBC API主要用来连接数据库和直接调用SQL命令,执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句,以及带IN和OUT参数的存储过程。
JDBC API是一个标准统一的SQL数据存取接口,它为Java程序提供了一个统一无缝地操作各种数据库的接口,程序员编程时,可以不关心它所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性。而且在Internet上确实无法预料你的用户想访问什么类型的数据库,只要系统上安装了正确的驱动器组,JDBC应用程序就可以访问其相关的数据库。您只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL语句。而且,使用Java编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将Java和JDBC结合起来将使程序员只需写一遍程序就可让它在任何平台上运行。

2.4.2 JDBC的驱动程序
JDBC的数据库访问要通过JDBC驱动程序来完成,JDBC驱动程序是Java应用程序与物理数据库之间桥梁。JDBC驱动程序可以分为下面四种类型,分别适用于不同的场合[6]。
(1)JDBC-ODBC桥驱动程序
这类驱动程序负责将JDBC转换为ODBC,然后通过JDBC-ODBC的方法调用ODBC驱动程序来存取数据库。
(2)本机应用编程接口的JDBC驱动程序
这类驱动程序部分采用Java语言编写,部分采用本地代码编写。这种JDBC驱动会将客户机的JDBC调用转换为对特定数据库驱动程序的调用,进而存取数据库,因此必须先在客户机上安装好特定的数据库的数据访问驱动库才能使用。
(3)数据库中间件的纯JDBC驱动程序
这种类型的驱动程序把客户端的JDBC调用转换为一种独立于特定数据库的协议,然后将数据库访问请求传输给服务器组件,最后该服务器组件将访问请求转换为特定数据库的协议。
(4)直接连接数据库的纯JDBC驱动程序
这种类型的驱动程序可以将客户端的JDBC请求直接转换成特定数据库的协议,所有存取数据库的操作,都直接由驱动程序来完成。

2.5 TOMCAT应用服务器
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapps目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用,当然本地也可以。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。

第3章 需求分析
3.1 系统功能描述
该系统是用于用户对电子书的租借和相互交流,运营者可以管理此平台盈利,是一个基于在线阅读的平台,怎样可以方便管理者的管理并实现盈利,方便用户的使用,提供搜索和租借功能并且提供一个给用户的交流平台是研究的主要内容。重点在于对访问该系统的身份进行基于角色的识别,使系统可以允许三种不同的角色进行访问,即游客、会员、管理员,并赋予他们不同的访问权限。
3.1.1 用户及主要操作功能
游客可以浏览网站的主页,但是需要注册为会员后才能对电子书进免费行阅读或租借。会员登录需要输入帐号和密码信息,每个会员的帐号下都会对应有相关的个人信息,如个人邮箱,地址等,不同的会员等级在租借图书时会有不同的待遇。以管理员身份登录也需要输入账号和密码,可以管理会员信息,添加公告,管理留言板等,管理员的角色在该系统中拥有最高的权限。
3.1.2 系统角色管理模块
包括系统管理员模块和会员模块
(1)在会员模块,作为会员,可以查看个人的信息,修改自己的密码;作为管理员可以查看,管理,删除会员信息。
(2)在管理员模块,可以添加、删除管理员,管理员可以修改自己的密码。
3.1.3 电子书管理模块
电子书管理模块包括不同电子书类别的添加,删除以及电子书的上传,删除管理。
(1)电子书类别的添加是由管理员进行的,可以包括武侠小书,都市言情,穿越小书等各个类别。按照付费与否可以添加免费和付费两种类别,当然这和前一种分类方式并不冲突。
(2)各类电子书由管理员上传,上传时如果是付费电子书,可以设置下载此电子书是所需费用。
(3)对于一些过时,或人气不高的电子书,系统管理员可以进行删除操作。
3.1.4 公告模块
公告模块主要包括了公告的发布、编辑、删除和浏览;公告的发布、编辑和删除只能由管理员来进行。
3.2 系统性能需求分析
电子书租赁下载系统是对广大读书爱好者设计的一个系统,提供给读者一个寻找读物的平台,因此必须方便用户的注册,搜索和下载等功能,并提供一个交流平台。系统应该具有开放性和可靠性,同时又要方便进行操作和维护。
3.3 开发环境及开发工具
操作系统:Windows XP SP3;
语言选择:JSP 、JavaScript;
数据库选择:SQL Server 2000;
主要开发工具:Dreamweaver CS3、Eclipse 3.4;
Web应用服务器:Tomcat 5.5。

第4章 概要设计
本章详细的介绍了本系统的设计实现,包括系统功能模块的设计和数据库的设计,系统功能模块设计主要介绍了系统的功能和各功能实现的流程,数据库设计主要介绍了数据库表的设计和各字段的意义。
4.1 系统的体系结构
结构设计是系统设计的关键,结构是整个系统的骨架,将对系统的性能起决定性的作用,采用如图4-1所示的结构模式。图中客户端可分别为:管理员、游客、和会员三种角色。
4.2 系统功能结构设计
系统功能框图如图4-2所示。
电子书租赁下载系统包括了用户登录模块和匿名模块,在用户登录模块中角色分为管理员和会员三种角色。管理员可以对用户进行管理,可以建立数目类别,上传电子书,公告的编辑和发布;会员可以浏览系统公告、电子书信息,可以同其他会员进行交流。

4.2.1 管理员模块
本模块包括会员管理、公告管理和书籍管理三部分。具体功能结构分析如图4-3所示。
4.2.2 会员模块
本模块包括信息管理,点券充值,书籍搜索三部分,具体的功能结构如图4-4所示。

4.3 系统流程图
4.3.1 会员管理
会员管理包括对公司新近员的信息进行查看和删除等操作。还有对点券充值的确认。

(1)删除会员
首先查看会员的信息,查看的会员的信息必须在库里存在,如果有即可找到,如果没有就不能看到。当找到相应的记录后就会显示出来,然后对会员信息进行删除,删除完成该会员的信息就不存在数据库中。
具体的操作流程如图4-5所示。

4.3.2 公告管理
系统公告的管理由管理员来进行管理,系统公告发布后所有人都可以看见,系统公告的数据表(newsinfo),所有公司公告的相关操作均在本表了进行操作。
4.4 数据库设计
数据库设计是系统设计中非常重要的环节。数据库设计是整个系统的根基,如果设计不好,在后来的系统维护、变更和功能扩充时,甚至在系统开发过程中,将会引起比较大的问题,有时将会重新进行大量的工作。
创建数据库:
数据库名:manage(软件项目团队管理系统)
本系统中一共用到了以下几个数据表:
(1)电子书类别表(t_catelog):存储电子书类别信息,具体为表4-1所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mathematica笔记

Mathematica笔记 mathematica等距、不等距数组mathematica多条线作图与循环图例 mathematica等距、不等距数组 mathematica多条线作图与循环图例 Clear["*"] h[x_, a_] a*E^x; LogLogPlot[Evaluate[Table[h[x, i], {i, 1, 20, 2}]], {x, 0.001, 10}, PlotRange -&g…

OpenGL笔记八之EBO和EBO绘制流程

OpenGL笔记八之EBO和EBO绘制流程 —— 2024-07-07 晚上 总结自bilibili赵新政老师的教程 code review! 文章目录 OpenGL笔记八之EBO和EBO绘制流程1.EBO2.glDrawElements:如果使用了ebo,最后一个参数可以写03.glDrawElements:如果使用了ebo…

CSS技巧专栏:一日一例 2.纯CSS实现 多彩边框按钮特效

大家好,今天是 CSS技巧一日一例 专栏的第二篇《纯CSS实现多彩边框按钮特效》 先看图: 开工前的准备工作 正如昨日所讲,为了案例的表现,也处于书写的习惯,在今天的案例开工前,先把昨天的准备工作重做一遍。 清除浏览器的默认样式定义页面基本颜色设定body的样式清除butt…

2024辽宁省数学建模B题【钢铁产品质量优化】思路详解

2024 辽宁省大学数学建模竞赛试题 B 题 钢铁产品质量优化 由于连续退火工序中各阶段的工艺参数之间存在耦合性(加热炉的温度设定会影响后续均热与冷却温度的设定,以及带钢穿行速度),导致难以建立该工序的机理模型,从而…

科特勒营销管理学读后感01

营销管理学之名词解释 任务环境可以理解为营销平台规模,公司营销渠道等等,宏观环境则是社会状况,环境状况。(个人理解)

js逆向-webpack-python

网站(base64):aHR0cHM6Ly93d3cuY29pbmdsYXNzLmNvbS96aA 案例响应解密爬取(webpack) 1、找到目标url 2、进行入口定位(此案例使用 ‘decrypt(’ 关键字搜索 ) 3、找到位置进行分析 --t 为 dat…

【Redis】初识 Redis

文章目录 1 什么是 Redis2 Redis 的特点2.1 速度快2.2 可编程性2.3 可拓展性2.4 持久化2.5 主从复制2.5 高可用和分布式2.6 客户端语言多 3 Redis 使用场景3.1 实时数据存储3.2 缓存和 Session 存储3.3 消息队列 4 Redis 重大版本5 CentOS7 安装 Redis5 1 什么是 Redis Redis …

CSS实现超链接标签:鼠标光标为手形、取消下划线、当鼠标悬停时显示下划线

1、鼠标光标为手形 cursor: pointer; 2、显示/取消下划线 text-decoration: none; /* 文本取消下划线 */ text-decoration: underline; /* 文本添加下划线 */ 3、伪类选择器 伪类选择器是 CSS 中已经定义好的选择器,因此程序员不能随意命令。伪类选择器…

JVM系列 | 垃圾收集算法

JVM系列 | 垃圾收集算法 文章目录 前言如何判断对象已"死"?引用计数法可达性分析算法可达性分析2.0版 | 引用的增强对象的消亡过程回收方法区主要回收目标:回收操作 垃圾收集算法分代收集理论 与 跨代引用假说分代收集理论跨带引用假说 垃圾收…

《GroupViT: Semantic Segmentation Emerges from Text Supervision》论文解读

会议:CVPR 年份:2022 代码:https://github.com/NVlabs/GroupViT 研究背景与动机: 传统深度学习系统中,图像区域的Grouping通常是隐式通过像素级识别标签的自上而下监督来实现的。作者提出将Grouping机制重新引入深…

LeetCode热题100刷题12:20. 有效的括号、394. 字符串解码、739. 每日温度、155. 最小栈、139. 单词拆分

20. 有效的括号 class Solution { public:bool isValid(string s) {if(s.size()%2 !0)return false;stack<char> st;for(int i0;i<s.size();i) {if(s[i]( || s[i]{ || s[i][)st.push(s[i]);else if(st.empty() && (s[i]} || s[i]] || s[i])))return false;els…

MySQL 数据库(基础)- 约束

MySQL 数据库&#xff08;基础&#xff09;- 约束 概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。目的&#xff1a;保证数据库中数据的正确&#xff0c;有效性和完成性。分类&#xff1a; 注意&#xff1a;约束是作用在表中字段上的&am…

yoloV8导出engine模型

yoloV8导出engine模型 引言&#xff1a; 目的是TensorRT加速YOLO实例分割模型。 本博客记录达成此目的所需的步骤&#xff0c;及步骤中可能遇到的问题。 as follow&#xff1a; 1. 首先导出onnx模型的脚本命令&#xff1a; yolo export modelbest.pt formatonnx opset12 simpl…

[misc]-流量包-find the pass

提示&#xff1a;黑客抓到一段流量&#xff0c;找找管理员的密码是多少 直接追踪流发现pass flag ffb7567a1d4f4abdffdb54e022f8facd

【RNN练习】天气预测

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、环境及数据准备 1. 我的环境 语言环境&#xff1a;Python3.11.9编译器&#xff1a;Jupyter notebook深度学习框架&#xff1a;TensorFlow 2.15.0 2. 导…

2024的开放式耳机排行榜,看这六个耳机选购的小Tips

在选择适合散步聊天和听歌的耳机时&#xff0c;开放式耳机是一个很好的选择。相对于传统的入耳式耳机&#xff0c;开放式耳机不会过度隔离你与周围环境&#xff0c;这意味着你可以更自然地与朋友交流&#xff0c;并且更加安全地行走在路上。市面上有许多开放式耳机可供选择&…

01. Hibernate 教程简介

1. 前言 大家好&#xff01;本节课将和大家一起学习鼎鼎有名的 Hibernate 框架。 本节课程将向大家介绍&#xff1a; Hibernate 的功能 、特点&#xff1b;Hibernate 产生的背景&#xff1b;并初步探讨编写 Jdbc 框架的基础构建思路。 2. Hibernate 是什么&#xff1f; 简而…

尚硅谷js

原型模式 原型对象就是相当于java的static,所有实例对象可以直接用静态的属性或者方法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script type"text/javascript&q…

3D工艺大师快速生成装配动画,驱动汽车工业装配流程革新

在现代制造业的一般生产流程中&#xff0c;车间装配环节是产品由蓝图迈向市场前至关重要的一道工序。随着产品结构的日益复杂化和个性化需求的不断增长&#xff0c;车间装配工作面临着前所未有的挑战。高精密度的装配要求、错综复杂的组件关系以及频繁变更的生产计划&#xff0…

Java单边表的局部翻转

反转链表 II 这是上一个翻转全部链表的进阶版&#xff0c;大家可以先去看我的上一篇博客 Java算法之单链表的全部翻转-CSDN博客 题目描述 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节…