Web-based DBMS Technology 线上数据库

Example Online Databases • https://www.planespotters.net/ • https://www.comics.org/ • https://www.quandl.com/ • https://www.enigma.com/ • https://www.sportradar.com/

Basics of WWW • The Web is a very large client-server system — Connected through routers and switches — Communicating with TCP/IP protocol — With no centralised control • Servers publish pages at URLs • Clients request pages by specifying the URLs • Pages are transferred on the Web using HTTP protocol • Each HTTP interaction is independent — No concept of a state or session WWW基本原理 网络是大客户端服务器系统 通过路由器和交换机连接 使用 TCP/IP 协议通信 - 没有集中控制 - 服务器在 URL 上发布网页 - 客户端通过指定 URL 请求网页 - 使用 HTTP 协议在网络上传输网页 - 每次 HTTP 交互都是独立的 - 没有状态或会话的概念

1990’s Client-Server DBMS Architecture • Example: A high street travel agency • Application/business code on client machine – “fat client” • Proprietary software – expensive to maintain & update 1990客户端五五七DBMS架构客户机上发代码程序 专有软件 维护更新成本高From 1995: Three-Tier Architecture三层架构 • Example: A web-based bookstore. e.g., amazon.co.uk • All application/business code off client, onto server 所有代码程序从客户端移到服务器

Characteristics of Three-Tier Architecture • Advantages: — Platform independence – web browsers for every PC — Cheap graphical user interface – potential for innovation — Simplicity – easier to upgrade & scale • Disadvantages: — Costly to maintain server – poor development tools — Less secure (hackers, etc.) — Less reliable (packet loss) — Stateless – no built-in support for transactions — Scaling limitations – size of data and No. of users

优点: - 平台独立性 - 每台 PC 都有网络浏览器 - 廉价的图形用户界面 - 创新潜力 - 简化 - 升级和扩展更容易 - 缺点: - 维护服务器成本高 - 开发工具差 - 安全性较差(黑客等) - 可靠性较低(数据包丢失) - 无状态 没有内置的事务支持 - 扩展限制 数据大小和用户数量

University Architecture

Static and Dynamic Content • HTML content stored entirely in files is static • Most Web content is dynamic — needs to vary with time and users — e.g., Amazon.co.uk • Dynamic HTML pages need to be generated for every transfer/access • Dynamic content may come from — user inputs — statements / procedures — database tables • Linking databases to web involves creating HTML pages on the fly using database query results • We learn some techniques to generate dynamic HTML pages静态内容和动态内容 - 完全存储在文件中的 HTML 内容是静态的 - 大多数网络内容是动态的 - 需要随时间和用户而变化  例如 Amazon.co.uk - 每次传输/访问都需要生成动态 HTML 页面 - 动态内容可能来自 - 用户输入 语句/程序 数据库表 - 将数据库链接到网络需要使用数据库查询结果即时创建 HTML 页面

Web Server Software Old Technologies • Existing Java programs that connect to DBMS can be extended to generate dynamic HTML using CGI • CGI = Common Gateway Interface • CGI is generic and can be used with — Java, C and other programming languages — Unix scripts and other scripting languages • Low-level DB access exploits DB interface libraries such as JDBC • When using CGI with Java — User input is obtained from HTML forms — CGI script is invoked when user submits the form (see the html form in the example) — CGI passes user input from the html form to the Java class ◦ as a list of attribute value pairs separated by ‘&’网络服务器软件 旧技术 - 连接 DBMS 的现有 Java 程序可通过 CGI 扩展到生成动态 HTML - CGI = 通用网关接口 - CGI 是通用的,可用于 - Java、 C 和其他编程语言 Unix 脚本和其他脚本语言 - 底层 DB 访问利用 DB 接口库(如 JDBC) - 在 Java 中使用 CGI 时 - 用户输入从 HTML 表单中获取  用户提交表单时调用 CGI 脚本(见示例中的 html 表单) CGI 将用户输入从 html 表单传递到 Java 类 ◦,作为以"&"分隔的属性值对列表。

Example – CGI scripting • This example contains — An HTML form to obtain user name as input — A CGI script for invoking a java class — A Java class ◦ For processing the user input and ◦ Printing a ‘Hello World’ message • Example only illustrates how cgi facilitates linking — HTML forms and Java classes — Java class does not really connect to a database — Try adding code for connecting to a database本示例包含 - 一个 HTML 表单,用于获取用户名作为输入 一个 CGI 脚本,用于调用一个 Java 类 一个 Java 类 ◦ 用于处理用户输入和 ◦ 打印一条 "Hello World "消息 - 示例仅说明了 cgi 如何促进链接 - HTML 表单和 Java 类 Java 类并不真正连接到数据库 尝试添加连接到数据库的代码

Example – HTML Form

Java Code

CGI Script • Only two lines in ‘helloworld.cgi’ file

• Each CGI program runs as a separate process – resource-intensive • Difficult to mix content and functionality — As in the example you need to create the output HTML file in the Java class — Not easy at times • Warning: each server is configured differently for running CGI scripts — Speak to the sys admin每个 CGI 程序都作为单独的进程运行 资源密集型 - 难以混合内容和功能 -需要在 Java 类中创建输出 HTML 文件 有时并不容易 -每个服务器对运行 CGI 脚本的配置不同 需要咨询系统管理员

Web Server Software New Technologies • There are many new technologies that allow access to DBMSs • Naturally there are advantages and disadvantages associated with each of them • Examples — Microsoft IIS, ASP – JScript/VBScript, Ajax — Sun Microsystems Java – JSP, servlets — Mozilla Firefox – JavaScript — ... • In this course we introduce you to: — PHP code embedded in HTML to access MySQL databases — Ruby code to access SQLite databases — Python code to access MongoDB databases网络服务器软件新技术 - 有许多新技术可以访问数据库管理系统 - 每种技术都有其优缺点 - 示例 - Microsoft IIS、ASP - JScript/VBScript、Ajax - Sun Microsystems Java - JSP、servlets - Mozilla Firefox - JavaScript - ... - 重点 - 嵌入 HTML 的 PHP 代码访问 MySQL 数据库 Ruby 代码访问 SQLite 数据库 Python 代码访问 MongoDB 数据

PHP & MySQL • Stands for PHP: Hypertext Preprocessor — Recursive acronym • Is a scripting language — Interpreted, not compiled — Public domain software • Embedded directly into HTML pages — Pages are published with “.php” extension • Server executes the embedded PHP code every time that page is requested • Home Page: www.php.net • PHP+MySQL is a very popular combination for producing dynamic web pages PHP 的缩写: 超文本预处理器 递归首字母缩写 - 是一种脚本语言 - 解译,而非编译 - 公有软件  直接嵌入 HTML 页面 页面以".php "扩展名发布  - 每次请求该页面时,服务器都会执行嵌入的 PHP 代码 - 主页:www.php.net - PHP+MySQL 是制作动态网页非常流行的组合方式

Web Database Architecture with PHP and MySQL 1. Browser issues an HTTP request for a particular web page 2. Web server receives the request, retrieves the file and passes it to the PHP engine for processing 3. PHP engine connects to the MySQL server and sends the query 4. MySQL server receives the query, processes it, and sends the results back to the PHP engine 5. PHP engine receives the results, prepares the HTML page and send it to the web server 6. Web server sends the HTML page to the browser and browser displays the page to the user使用 PHP 和 MySQL 的网络数据库架构 1. 浏览器对特定网页发出 HTTP 请求 2. 网络服务器接收请求,检索文件并将其传递给 PHP 引擎进行处理 3. PHP 引擎连接到 MySQL 服务器并发送查询 4. 4. MySQL 服务器接收查询,进行处理,并将结果发送回 PHP 引擎 5. PHP 引擎接收结果,准备 HTML 页面并将其发送至网络服务器 6. 网络服务器将 HTML 页面发送到浏览器,浏览器将页面显示给用户

PHP+MySQL Programming Model • Web site made from “.php” files on web server • “.php” files contain HTML with embedded PHP code • PHP code is enclosed in

• Basic steps followed in any PHP script used to access a database: — Check and filter data coming from the user — Set up a connection to MySQL server — Selecting the appropriate database — Query the database — Retrieve the results — Present the results back to the user — Close the database connectionPHP+MySQL 编程模型 - 网站由网站服务器上的".php "文件组成 - ".php "文件包含嵌入了 PHP 代码的 HTML - PHP 代码被括入 <?php ... ?> - 任何用于访问数据库的 PHP 脚本都遵循以下基本步骤: - 检查和过滤来自用户的数据 建立与 MySQL 服务器的连接 选择适当的数据库 查询数据库 检索结果 将结果返回给用户 关闭数据库连接

Sample PHP Code

Recap: Building Web database Applications • Apply appropriate software engineering life cycle — Requirements analysis — Design — Implementation — Testing • Security of data is very important in Web Database applications • Use MySQL privilege system to control access to data • User identification and personalization is necessary with web database applications构建网络数据库应用程序--应用适当的软件工程生命周期--需求分析 设计 实施 测试--数据安全在网络数据库应用程序中非常重要--使用 MySQL 权限系统控制数据访问--网络数据库应用程序需要用户识别和个性化

Summary • Organizations increasingly want data to be available over the internet • Web databases require new technologies to extend simple HTTP protocol used on the web • PHP is a scripting language embedded in html code to develop web database applications • Security is one of the main issues in web database applications • Useful Links — www.w3.org – World Wide Web Consortium — www.wdvl.com – Web Developer’s Virtual Library — www.php.net – PHP home page — www.mysql.com – MySQL home page

各组织越来越希望通过互联网提供数据 - 网络数据库需要新技术来扩展网络上使用的简单 HTTP 协议 - PHP 是一种嵌入 html 代码的脚本语言,用于开发网络数据库应用程序 - 安全性是网络数据库应用程序的主要问题之一 

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

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

相关文章

AI日报:一个新的“科技超级周期”正在出现

文章目录 技术周期预测可连接设备 技术周期 未来学家艾米韦伯表示&#xff0c;人工智能和其他两种通用技术将迎来一个新的“技术超级周期”&#xff0c;预计将在经济中创造“实质性和持续性”的变化。 她在SXSW 2024上表示&#xff0c;过去的科技超级周期是由通用技术引发的&…

HTTP压测工具wrk安装与使用

一、前言 wrk是一个基于C语言开发的用于HTTP性能测试的开源工具&#xff0c;它可以模拟多个并发连接&#xff0c;测量服务器的响应时间和吞吐量&#xff0c;并且会给出较为全面的测试结果 1、本文主要内容 在Windows、macOS、Linux&#xff08;CentOS & Ubuntu等&#xff…

任务弹窗更新为任务对话框

1.设计初心 在玩家接取任务/交付任务时&#xff0c;界面弹出的UI &#xff0c;需要与玩家互动&#xff0c;点击“接取”“完成”。等等字样【改动前】频繁的手动点击会中断玩家跑图的流畅性&#xff0c;也降低了任务寻路系统的实际体验。于是现在变成类似FakeObj 对话框的模式…

数字逻辑-时序逻辑电路一

一、实验目的 &#xff08;1&#xff09;熟悉触发器的逻辑功能及特性。 &#xff08;2&#xff09;掌握集成D和JK触发器的应用。 &#xff08;3&#xff09;掌握时序逻辑电路的分析和设计方法。 二、实验仪器及材料 三、实验内容及步骤 1、用D触发器&#xff08;74LS74&am…

idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页

一、源码特点 springboot 组卷管理系统是一套完善的完整信息系统&#xff0c;结合mvc框架和LayUI框架完成本系统springboot spring mybatis &#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整…

ES6(三):Iterator、Generator、类的用法、类的继承

一、迭代器Iterator 迭代器是访问数据的一个接口&#xff0c;是用于遍历数据结构的一个指针&#xff0c;迭代器就是遍历器 const items[one,two,three];//创建新的迭代器const ititems[Symbol.iterator]();console.log(it.next()); done&#xff1a;返回false表示遍历继续&a…

Python 查找PDF中的指定文本并高亮显示

在处理大量PDF文档时&#xff0c;有时我们需要快速找到特定的文本信息。本文将提供以下三个Python示例来帮助你在PDF文件中快速查找并高亮指定的文本。 查找并高亮PDF中所有的指定文本查找并高亮PDF某个区域内的指定文本使用正则表达式搜索指定文本并高亮 本文将用到国产第三方…

linux安全--CentOS7安装Tomcat,远程管理ManagerApp

目录 1.Tomcat安装 2.Tomcat远程管理 1.Tomcat安装 下载安装包并解压 tar xf apache-tomcat-7.0.54.tar.gz -C /usr/local/apache-tomcat_7.0.54/tomcat启停 启动 ./startup.sh 停止 ./shutdown.sh 2.Tomcat远程管理 找到tomcat文件夹中webapps/manager/META-INF/contex…

Linux系统---Haproxy高性能负载均衡软件

目录 一、Haproxy介绍 1.Haproxy定义 2.Haproxy主要特性 3.Haproxy调度算法原理 3.1RR&#xff08;Round Robin&#xff09; 3.2LC&#xff08;Least Connections&#xff09; 3.3SH&#xff08;Source Hashing&#xff09; 二、安装Haproxy 1.yum安装 2.第三方rpm包安…

Android中compile,implementation和api的区别,以及gradle-wrapper的详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂&#xff0c;风趣幽默"&#xff0c;感觉非常有意思,忍不住分享一下给大家。 &#x1f449;点击跳转到教程 前言&#xff1a; compile,implementation和api的区别和其作用 compile和api会进行传递…

【深度学习目标检测】二十三、基于深度学习的行人检测计数系统-含数据集、GUI和源码(python,yolov8)

行人检测计数系统是一种重要的智能交通监控系统&#xff0c;它能够通过图像处理技术对行人进行实时检测、跟踪和计数&#xff0c;为城市交通规划、人流控制和安全管理提供重要数据支持。本系统基于先进的YOLOv8目标检测算法和PyQt5图形界面框架开发&#xff0c;具有高效、准确、…

叶子分享站PHP源码

叶子网盘分享站PHP网站源码&#xff0c;创建无限级文件夹&#xff0c;上传文件&#xff0c;可进行删除&#xff0c;下载等能很好的兼容服务器。方便管理者操作&#xff0c;查看更多的下载资源以及文章&#xff0c;新增分享功能&#xff0c;异步上传文件/资源等 PHP网盘源码优势…

Unix环境高级编程-学习-05-TCP/IP协议与套接字

目录 一、概念 二、TCP/IP参考模型 三、客户端和服务端使用TCP通信过程 1、同一以太网下 四、函数介绍 1、socket &#xff08;1&#xff09;声明 &#xff08;2&#xff09;作用 &#xff08;3&#xff09;参数 &#xff08;4&#xff09;返回值 &#xff08;5&…

三星泄露微软 Copilot 新功能:用自然语言操控各种功能

3 月 11 日消息&#xff0c;微软计划本月晚些时候发布新款 Surface 电脑和适用于 Windows 11 的 Copilot 新功能&#xff0c;但三星似乎等不及了&#xff0c;在其即将推出的 Galaxy Book4 系列产品宣传材料中泄露了一些即将到来的 Copilot 功能。 三星官网上发布的图片证实了此…

在centOS服务器安装docker,并使用docker配置nacos

遇到安装慢的情况可以优先选择阿里镜像 安装docker 更新yum版本 yum update安装所需软件包 yum install -y yum-utils device-mapper-persistent-data lvm2添加Docker仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.rep…

SQLite—免费开源数据库系列文章目录

SQLite系列相关文章较多特开本文为了便于读者阅读特写了本索引和目录之用本文将不断更新中有需要的读者可以收藏本文便于导航到各个专题( 持续更新中......)。收藏一篇等于收藏一个系列文章 简介类&#xff1a; SQLite——世界上部署最广泛的免费开源数据库&#xff08;简介&…

【海贼王的数据航海】探究二叉树的奥秘

目录 1 -> 树的概念及结构 1.1 -> 树的概念 1.2 -> 树的相关概念 1.3 -> 树的表示 1.4 -> 树在实际中的运用(表示文件系统的目录树结构) 2 -> 二叉树概念及结构 2.1 -> 二叉树的概念 2.2 -> 现实中的二叉树 2.3 -> 特殊的二叉树 2.4 ->…

Post请求出现Request header is too large

问题描述&#xff1a; 在做项目的时候&#xff0c;前端请求体太大的时候&#xff0c;出现Request header is too large问题&#xff0c;后端接口如下&#xff1a; 前端请求接口返回问题如下&#xff1a; 解决方案&#xff1a; 问题原因&#xff1a;这是因为我们在做Springboo…

旅游管理系统|基于SpringBoot+ Mysql+Java+Tomcat技术的旅游管理系统设计与实现(可运行源码+数据库+设计文档+部署说明+视频演示)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 用户功能 管理员功能登录前台功能效果图 系统功能设计 数据库E-R图设计 lunwen参考 …

反爬虫技术:如何保护你的网站数据安全

在数字化时代&#xff0c;数据的价值日益凸显&#xff0c;而爬虫技术则成为了获取这些数据的重要手段之一。然而&#xff0c;对于网站运营者来说&#xff0c;非法爬虫不仅会导致数据泄露&#xff0c;还可能给网站带来巨大的流量压力和安全隐患。因此&#xff0c;本文将探讨如何…