版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章服务器端开发——动态页面技术基础教学目标教学重点教学过程第2页教学目标了解动态主页的基本特点掌握.NET动态主页的基本开发方法了解Python网站开发技术了解Node.JS技术基础了解不同动态主页开发技术的异同第3页教学重点.NET动态页面的基本开发方法Python开发技术Node.JS技术基础不同开发技术的差异第4页教学过程动态主页基本原理.NET技术Java技术Python技术Node.JS技术更多服务器端开发技术及其比较第5页6.1动态主页基本原理
静态页面:网页内容在设计时就确定了,如要修改或维护,必须修改源代码活动页面:在静态页面的基础上,加入控制客户端显示方式的元素,在客户端改变网页的内容和样式动态页面:网页内容从服务器提取,数据可随时更新,页面内容实时生成,并具有交互性第6页6.1
动态主页基本原理
动态”的“动”指的是“交互性”,就是网页能否根据情况显示出个性化的内容客户端动态网页通过附加到浏览器上的模块(插件)完成动态网页的全部工作,但存在一定缺陷服务器端动态网页由客户端提出执行请求,在服务器端运行,运行的结果通过HTML的形式传回客户端
PHP、CGI、JSP、ASP.NET和Node.JS等第7页6.2.NET技术微软总裁兼首席执行官SteveBallmer给.NET下的定义为:“.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。”即:.NET=新平台+标准协议+统一开发工具.NET致力将手机,浏览器和门户应用程序集成到一起,形成一个统一的开发环境
第8页6.2.NET技术.NET的设计目标
第9页6.2.NET技术.NETFramework具有两个主要组件:公共语言运行库和.NETFramework类库。公共语言运行库是.NETFramework的基础.NET框架是一个多语言组件开发和执行环境,他提供了一个跨语言的统一编程环境。.NET框架的设计目标是让开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通第10页6.2.NET技术.NET框架结构
第11页6.2.NET技术内部处理过程第12页ASP.NET提供与现有ASP兼容的语法这包括支持可在.aspx文件内与HTML内容混合的<%%>代码呈现块这些代码块在网页呈现时按由上而下的方式执行6.2.NET技术第13页一个简单的实例实例6-1:使用ASP.NET表单提交及接收并显示结果6.2.NET技术第14页网站注册和注册功能的实现实例6-2:使用数据库显示数据6.2ASP及.NET技术第15页网站注册和注册功能的实现实例6-3:用户注册功能的实现6.2ASP及.NET技术第16页网站注册和注册功能的实现实例6-4:用户登录功能的实现6.2ASP及.NET技术第17页6.3Java技术
Java不单定义了一种计算机语言,而且提供了一整套客户机/服务器解决方案,在这个方案中,程序可以自动地下载到客户端并执行。第18页6.3Java技术
Java不单定义了一种计算机语言,而且提供了一整套客户机/服务器解决方案,在这个方案中,程序可以自动地下载到客户端并执行简单性面向对象分布性健壮性安全性体系结构中立可移植性解释执行高性能多线程动态性第19页6.3Java技术
Servlet:服务器端程序它从客户端接收请求,执行设定的操作后,最终将结果返回给客户端客户端(如Web浏览器)通过HTTP提出请求
Web服务器接收该请求并将其发给servlet,如果这个Servlet尚未被加载,Web服务器将把它加载到Java虚拟机并且执行它Servlet将接收该HTTP请求并执行某种处理Servlet将向Web服务器返回应答
Web服务器从Servlet收到的应答发送给客户端实例6-5第20页6.3Java技术
JSP提供了一种简单而快速创建显示动态生成内容Web页面的方法具有简单实用、移植性和规范性好的特点开发方式可直接使用JSPJSP+JavaBeans
JSP+JavaBeans+Servlet
实例6-6第21页6.4Java技术
用JSP创建一个显示不同颜色的文字的网页<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>JSPtestHelloWorld!</title></head><body><%String[]colors={"red","green","blue","black","gray"};for(inti=0;i<5;i++){out.println("<h1><fontcolor="+colors[i]+">HelloWorld!Myfirstjsppage.</font></h1>");}%></body></html>第22页6.3Java技术
J2EE建立在J2SE基础上,为企业级应用提供完整、稳定、安全和快速的Java平台是一个标准而不是一个产品J2EE平台提供的Web开发技术主要支持两类软件的开发和应用高级信息系统框架的Web应用服务器Web应用服务器上运行的Web应用Struts、Hibernate和SpringFramework是J2EE的开发框架,可大大加快开发速度第23页6.4Python开发技术
PythonWeb应用开发框架DjangoFlaskTornadoWeb2pySanicBottlePyramidTurboGearsCherryPy第24页6.4Python开发技术
PythonDjango的特点代码模版化重用高内聚(封装)规范可扩展可维护协作开发通用性第25页6.4Python开发技术
例6-7:使用Django建立一个简单网页urls.pyfromdjango.contribimportadminfromdjango.urlsimportpathfromex6_10helloimporthello
urlpatterns=[path('admin/',admin.site.urls),path('hello/',hello),]hello.pyfromdjango.httpimportHttpResponsedefhello(request):returnHttpResponse("hello,thisisatestpage!")第26页6.4Python开发技术
例6-8:使用服务器端资源建立一个动态网页views.pyfromdjango.httpimportHttpResponsefromdjango.httpimportHttpResponseimporttimedefcurtime(request):returnHttpResponse("Currenttimeis:"+time.strftime('%Y-%m-%d%H:%M:%S'))urls.pyfromdjango.contribimportadminfromdjango.urlsimportpathfromex6_11.viewsimportcurtime
urlpatterns=[path('admin/',admin.site.urls),path('curtime/',curtime),]第27页6.5Node.JS开发技术Node.JS的特点单线程事件驱动异步I/O适合IO密集型应用简单的编程模型更好地支持全栈开发第28页6.5Node.JS开发技术例6-9:使用Node.js构建简单的Web服务器varhttp=require('http')
//导入httpvarapp=http.createServer(function(request,response){//返回服务器对象
response.write('<h1>Thisismytestsite!</h1>')
//向客户端输出内容
response.end()})app.listen(8000,function(){
//第一个参数监听端口,第二个参数回调函数,看是否能正常启动
console.log('serverstarted...')
//服务器启动成功才会输出})第29页6.5Node.JS开发技术例6-10:利用Express构建静态资源服务器constexpress=require('express')
//导入express模块letapp=express()
//创建服务器
app.use(express.static('www'))
//托管静态资源,指定www目录为当前Web服务器根目录
app.listen(8000,()=>{
//开启服务器
console.log('ServerSarted...')})第30页6.5Node.JS开发技术例6-11:利用MongoDB进行数据库操作const{MongoClient}=require('mongodb')consturl="mongodb://:27017";constclient=newMongoClient(url);
asyncfunctionmain(){try{constdb=client.db("demo");//数据库awaitclient.connect();console.log('ConneccttodatabaseOK!');
awaitdb.collection('inventory').insertOne({
item:'canvas',//插入数据qty:100,tags:['cotton'],size:{h:28,w:35.5,uom:'cm'}});console.log("insertok!");awaitdb.collection(‘inventory’).updateOne(//更新{item:'canvas'},{$set:{'size.uom':'mm',status:'P'},$currentDate:{lastModigied:true}});console.log("updateOK!");
awaitdb.collection('inventory').deleteMany({status:'P'}); //删除数据console.log("deleteOK!");//错误处理
}catch(e){ console.error(e);}finally{awaitclient.close();}}main().catch(console.error);第31页6.6更多服务器端开发技术及其比较CGICommonGatewayInterface(通用网关接口)通过环境变量、标准输入输出来传递参数可使用各种高级语言进行开发每次请求都会在系统中创建一个新的进程,效率较低使用复杂,不便掌握第32页6.6更多服务器端开发技术及其比较CGI工作原理
第33页ISAPI/NSAPI在服务器端第一次被执行的时候即被调入内存,在本次请求结束后也不需退出执行效率高且能保持跟数据库之间的高效连
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025下半年重庆市地震局事业单位招聘拟聘历年高频重点提升(共500题)附带答案详解
- 2025下半年浙江省舟山引航站招聘引航员9人高频重点提升(共500题)附带答案详解
- 2025下半年四川遂宁高新区部分事业单位考试招聘拟聘用人员高频重点提升(共500题)附带答案详解
- 2025下半年四川省广安市华蓥市“小平故里英才”引进急需紧缺专业人才17人历年高频重点提升(共500题)附带答案详解
- 2025上半年重庆市属卫生计生事业单位招聘拟聘历年高频重点提升(共500题)附带答案详解
- 2025上半年江苏省南通事业单位招聘95人历年高频重点提升(共500题)附带答案详解
- 2025上半年四川省甘孜州考试招聘事业单位人员163人笔试高频重点提升(共500题)附带答案详解
- 2025上半年四川省内江市“甜城英才”选聘活动402人高频重点提升(共500题)附带答案详解
- 2025上半年四川内江市本级部分事业单位考聘55人高频重点提升(共500题)附带答案详解
- 成分分析产品行业相关投资计划提议范本
- 【期末试题】河西区2018-2019学年度第一学期六年级数学期末试题
- 2022年总经理年会发言稿致辞二
- 立法学完整版教学课件全套ppt教程
- (优选)离散元法及其应用课件
- 脚手架计算书-
- 部编版八年级语文上册《句子的成分》定稿课件
- 清华大学《大学物理》习题库试题及答案09磁学习题
- 目标成本限额指标
- 最易懂的杰普逊航图学习课件
- 高速公路沥青路面设计计算书(Word)
- 国画美术兴趣小组活动记录(共9页)
评论
0/150
提交评论