Web应用程序的定义:

顾名思义,Web应用是运行在Web上的应用程序。但是反过来,运行在Web上的应用程序都是Web应用吗?答案是否定的。这里所说的Web应用是指运行在网络上,以浏览器作为通用客户端的应用程序,在许多地方又被称为B/S(Browser/Server,浏览器-服务器)模式的应用。例如我们身边的教务系统,选课系统,都是基于浏览器进行访问的Web应用程序。

Web应用程序的开发方法及应用范围:

Java

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Python

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。目前Python典型的Web开发框架有Django、Flask、Tornado等。

ASP

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本置标语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。ASP简单、易于维护 , 是小型页面应用程序的选择,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情况下,ASP甚至可以实现中等规模的企业应用程序。

JSP

我们这学期采用的就是JSP做前端模板,Java作为后端的开发形式。JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

PHP

PHP原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”,即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法,利于学习,使用广泛,主要适用于Web开发领域。PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。 根据动态网站要求,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时,PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。如果数据量较大,PHP语言还可以拓宽链接面,与各种数据库相连,缓解数据存储、检索及维护压力。随着技术的发展,PHP 语言搜索引擎还可以量体裁衣,实行个性化服务,如根据客户的喜好进行分类收集储存,极大提高了数据运行效率。

学习心得

这学期,基于一个电商网站的web应用程序。我开始了我的web应用程序开发之路,接触到了很多的新知识,当然也有对很多旧知识的复用。比如Java就是,新一次的学习,不光学习到了新的知识,对Java的理解仿佛也更加深刻了,这可能就是老师督促我们反复学习的原因所在。前端采用JSP模板,利用JSP这门脚本语言,动态的内嵌Java代码,形成了前端页面。当然,也要对CSS,HTML的运用得心应手。否则是出不来漂亮的页面的。还有Servlet,过滤器,监听,EL表达式等等,需要有自己的理解才能用的得心应手。当然,合理的开发模式也是必不可少的,我采用的就是MVC模式。将后端分成三层,合理分工,各司其职。做到程序的低耦合性,提高我们代码的健壮性。下面写一下自己的一点知识理解。

MVC开发模式

Java的开发模式也是历经周折,几次转变,才有了现在的三层架构。在最开始的时候,单纯的只有一个Servlet模块来作为衔接数据库和前端的程序。后来代码逻辑的复杂,使得有了JavaEE Model1版本,分成了JSP(C和V)和JavaBean(M),由JavaBean来和数据库交互再交给JSP。再后来不得不将JSP分开,分成了Servlet(C)、JSP(V)和JavaBean(M)。这样就有了最开始的MVC模型。M(Model,模型层):负责数据的操作,数据库的访问,数据的封装。也就是我们的JavaBean。V(视图层,View):负责生成视图的内容,和用户进行交互。也就是我们的JSP。C(Controller,控制器层):负责调度M和V,进行程序的控制。也即是我们的Servlet。再后来对数据封装的业务逻辑不断复杂,为了降低耦合度,我们又将JavaBean进行了拆分,分成了DAO持久层(负责进行数据库访问,也称Repository)和Service(负责数据的封装)两层,此时的JavaBean只是作为实体类来封装对象,在层与层之间产生作用。也就是我们现在使用的流水线式开发模式,各司其职,互不干扰。画了一幅图可以更好地加深理解。

Servlet

浏览器内核中有通信模块,来和我们的服务器中的通信模块首先建立连接。当用户产生操作后,通信模块生成请求数据包,由浏览器发送给服务器,服务器收到后解析数据包,写入request,创建Servlet,由Servlet来读取request。经过Servlet的逻辑处理后,写入response,交由服务器通信模块来读取response,读取成功后会销毁request对象和response对象,并且生成响应数据包。发送给浏览器,浏览器解析响应数据包后,展示给用户。这就是完成的从用户产生操作到和用户产生交互的完整过程。

其中Servlet的内部及其发展是这样的:

  • 为了保证服务器模块和开发者提供的代码判断能够正确的配合到一起,Sun公司设计了Servlet接口。
  • 其中init(ServletConfig)方法:当一个Servlet对象被创建后,我们的服务器,会马上调用该对象的init方法,实现初始化的逻辑。我们如果希望哪些逻辑希望在Servlet对象在被创建后立即执行,可以放入init方法。
  • destroy()方法:当服务器准备销毁一个Servlet对象之前,会主动调用该对象的destroy方法。我们如果希望哪些逻辑在Servlet对象销毁之前调用,可以放入destroy方法内。
  • service()方法:当服务器收到一份Servlet来响应用户的请求时,会调用该Servlet的service方法。处理用户的请求的逻辑应该放入service方法中。
  • init方法,destroy方法,service方法在一个Servlet的生命周期中分别会被调用1次,1次,多次。
  • 还有getServletInfo()方法和ServletConfig()方法目前的开发中一般不会应用到。
  • 并且,在实际开发中。我们一般仅仅只需要写service方法中的逻辑。
  • 因此,Sun公司对此重新定义了GenericServlet抽象类,该类实现了Servlet接口,和其他四个方法的空实现。我们现在的实际开发中,只需要继承GenericServlet抽象类即可。
  • 但是,浏览器访问服务器存在HTTP协议和HTTPS协议,GenericServlet是面向两种协议的协议,没有对HTTP协议的特殊支持。
  • 所以,Sun公司又开发了面向HTTP协议的HTTPServlet,继承了GenericServlet,并提供了很多处理HTTP协议请求的

Web应用程序开发课程总结相关推荐

  1. 基于.Net Core开发现代化Web应用程序系列课程和文章

    这个系列课程是Anduin2017在B站上传的: 基于.Net Core开发现代化Web应用程序系列课程第1课之:课程简介 基于.Net Core开发现代化Web应用程序系列课程第2课之:.Net平台 ...

  2. python的web应用程序开发(Django框架)

    python的web应用程序开发(Django框架) 1.安装Django并开启网页服务器 pip install django # 安装Django包 django-admin startproje ...

  3. python编程课程价格-无锡Python程序开发课程

    大数据及机器学习必备语言,推荐9-13岁青少年学习. 帮助孩子掌握Python语言的主要核心基本语法.掌握Python面向对象开发的基本概念.掌握Python和Pygame进行2D游戏开发. 小码研究 ...

  4. python少儿编程 在线课程-宁波Python程序开发课程

    课程详情 大数据及机器学习必备语言,推荐9-13岁青少年学习. 帮助孩子掌握Python语言的主要核心基本语法.掌握Python面向对象开发的基本概念.掌握Python和Pygame进行2D游戏开发. ...

  5. 少儿编程python线上课程-北京Python程序开发课程

    课程详情 大数据及机器学习必备语言,推荐9-13岁青少年学习. 帮助孩子掌握Python语言的主要核心基本语法.掌握Python面向对象开发的基本概念.掌握Python和Pygame进行2D游戏开发. ...

  6. ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试

    想必大家之前在进行ASP.NET Web 应用程序开发期间都有用到过将我们的网站部署到IIS自定义主机域名并附加到进程进行调试. 那我们的ASP.NET Core Web 应用程序又是如何部署到我们的 ...

  7. [HTML5]移动Web应用程序开发 HTML5篇 (四) 多媒体API

    介绍 本系列博客将主要介绍如今大红大紫的移动Web应用程序开发最重要的三个工具:HTML5,JavaScript, CSS3. 本篇是HTML5介绍的第三篇,主要介绍HTML5的Canvas API. ...

  8. [渝粤教育] 商丘职业技术学院 Java Web应用程序开发 参考 资料

    教育 -Java Web应用程序开发-章节资料考试资料-商丘职业技术学院[] 简述B/S结构和C/S结构,各自的优缺点? web前端基础 第1单元 网上书店系统开发准备 1.[单选题]主流的动态网页技 ...

  9. 第一章 Web应用程序开发基础

    一.HTTP协议工作机制 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它是一种主流B/S架构中应用的通信 ...

  10. WEB应用程序开发与部署

    WEB应用程序开发与部署 来自:http://www.atguigu.com/

最新文章

  1. 调用函数,求1!+2!+3!+......+10!
  2. mysql在线开启并行复制_mysql 5.7开启并行复制
  3. 围成一圈的排列组合问题_分班必考知识点!小学奥数之排列组合问题
  4. c++简单程序设计-5
  5. FreeBSD 10 将使用 Clang 编译器替换 GCC
  6. AOSP6.0.1 launcher3入门篇-解析DeviceProject.java及相关文件
  7. linux添加和增大交换分区(swap)的方法
  8. 程序员生存定律--如何尽快变的稍微专业一点
  9. 利用Calendar类判断是平年还是闰年
  10. 如何提高阅读源代码的效率
  11. html 左侧居中对齐,HTML的居中对齐
  12. Jquery Mobile dialog的生命周期 - 落叶潇潇雨 - 博客园
  13. Azure中配置网络安全组入站规则让外部网络访问VM中的网站
  14. 苹果手机怎么投屏到电脑,手机投屏电脑的方法
  15. android 隐私泄露 路径,一种Android应用隐私泄露漏洞检测方法与流程
  16. OSChina 周五乱弹 ——如何请假回家追妹子
  17. Word Embedding 简述
  18. Js定时器倒计时及堆叠问题解析(附源码)
  19. 干货 : 聚焦于用户行为分析的数据产品
  20. php跨平台审计工具,php源码审计工具–PHP Source Auditor 4 released

热门文章

  1. 泛微协同商务系统_泛微ecology OA Beanshell组件远程代码执行漏洞复现
  2. android gridview 详解,Android开发 GridView详解
  3. csgo安全服务器显示我无法加入vac,为什么进入CSGO之后显示我无法加入VAC安全服务器?在线等!急...
  4. Exchange2010升级至Exchange2016
  5. Linux - Centos7 查询系统安装时间以及硬盘序列号命令
  6. 精品软件 推荐 淘宝 天猫 秒杀助手
  7. 扫描仪上显示服务器连接错误代码,扫描仪 常见问题解决方法
  8. 高维数据可视化之t-SNE算法
  9. Win10系统优化工具
  10. 华为手机所有图标变黑_华为手机突然图标变黑