web应用系统开发课程设计,web应用技术课程设计
Web应用的定义:yxdxl。Web应用程序是在Web上运行的应用程序。但另一方面,所有运行在Web上的应用程序都是Web Web应用程序吗?答案是否定的,这里的Web应用是指运行在网络上,以浏览器为一般客户端的应用,在很多地方也称为B/S(浏览器/服务器)模式应用。比如我们身边的教务系统、选课系统都是基于浏览器访问的Web应用。
Web应用开发方法及应用范围:Java Java是一种面向对象的编程语言,既吸收了C语言的优点,又摒弃了C语言中难以理解的多继承、指针等概念,因此Java语言有两个特点:功能强大,使用简单。Java作为静态面向对象编程语言的代表,完美的实现了面向对象理论,让程序员用优雅的思维进行复杂的编程。Java具有简单、面向对象、分布式、健壮、安全、平台无关和可移植、多线程、动态等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Python是一种跨平台的计算机编程语言。它是一种面向对象的动态类型语言,最初被设计用来编写自动化脚本(shell)。随着版本的不断更新和语言新功能的加入,它越来越多地被用于独立和大型项目的开发。目前Python典型的Web开发框架有Django、Flask、Tornado等。
ASP ASP Active Server Pages,是微软开发的服务器端脚本环境,可用于创建动态交互式网页和构建功能强大的web应用程序。当服务器收到对ASP文件的请求时,它将处理包含在HTML(超文本标记语言)网页文件中的服务器端脚本代码,该文件用于构建并发送到浏览器。除了服务器端脚本代码,ASP文件还可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。ASP简单易维护。是小页面应用的选择。有了DCOM(分布式组件对象模型)和MTS(微软事务服务器),ASP甚至可以实现中型企业应用。
这学期我们采用JSP作为前端模板,Java作为后端开发形式。JSP(全称Java Server Pages)是由Sun Microsystems创建的动态网页技术标准。JSP部署在网络服务器上,可以响应客户端发送的请求,根据请求的内容动态生成HTML、XML或其他格式文档的网页,然后返回给请求者。JSP技术以Java语言为脚本语言,为用户的HTTP请求提供服务,可以和服务器上的其他Java程序一起处理复杂的业务需求。将JSP Java代码和特定的变化内容嵌入到静态页面中,以静态页面为模板实现部分内容的动态生成。JSP引入了称为“JSP actions”的XML标记来调用内置函数。或者,您可以创建JSP标记库,然后像使用标准HTML或XML标记一样使用它们。标签库可以增强功能和服务器性能,并且不受跨平台问题的限制。JSP文件将在运行时被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码编写的Servlet,然后Java编译器可以把它们编译成可以快速执行的二进制机器码,或者直接编译成二进制代码。
PHP,原本是个人主页的缩写,现已正式更名为“PHP:超文本预处理器”,即“超文本预处理器”,是一种通用的开源脚本语言。PHP是一种在服务器端执行的脚本语言。和C语言类似,PHP是一种常用的网站编程语言。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),和数据库交互,然后交给JSP。后来,我们不得不把JSP分成Servlet(C)、JSP(V)和JavaBean(M)。于是就有了最初的MVC模式。M(Model):负责数据操作、数据库访问和数据封装。也就是我们的JavaBean。v(视图层):负责生成视图的内容,并与用户交互。这就是我们的JSP。c(控制器,控制器层):负责调度M和V控制程序。也就是我们的Servlet。后来数据封装的业务逻辑越来越复杂。为了降低耦合度,我们将JavaBean拆分成两层:DAO持久层(负责数据库访问,也称为Repository)和服务层(负责数据封装)。此时JavaBean只是作为一个实体类来封装对象,它起的是层间的作用。也就是我们现在使用的流水线式开发模式,各司其职,互不干涉。画一张图可以更好的加深我们的理解。
Servlet内核中有一个通信模块,它首先与我们服务器中的通信模块建立连接。当用户产生一个操作时,通信模块产生一个请求包,由浏览器发送给服务器。服务器收到数据包后,解析数据包,编写请求,创建一个Servlet,Servlet读取请求。在Servlet的逻辑处理之后,响应被写入并发送到服务器通信模块以读取响应。成功读取后,请求对象和响应对象将被销毁,并生成响应数据包。发送到浏览器。浏览器解析响应包后,会显示给用户。这是从用户生成运营到与用户互动的完整过程。
Servlet的内部及其开发如下:
为了保证服务器模块和开发者提供的代码判断能够正确的匹配在一起,Sun公司设计了Servlet接口。其中,init(ServletConfig)方法:当一个Servlet对象被创建时,我们的服务器会立即调用该对象的init方法来实现初始化逻辑。如果我们希望在创建Servlet对象后立即执行一些逻辑,我们可以放入init方法。Destroy()方法:当服务器准备销毁一个Servlet对象时,会主动调用该对象的destroy方法。如果我们希望在销毁Servlet对象之前调用逻辑,我们可以将它放在destroy方法中。Service()方法:当服务器接收到一个Servlet响应用户的请求时,会调用Servlet的service方法。处理用户请求的逻辑应该放在服务方法中。在Servlet的生命周期中,init方法、destroy方法和service方法将被调用一次、一次和多次。还有getServletInfo()方法和ServletConfig()方法,目前开发中一般不应用。并且,在实际开发中。一般情况下,我们只需要在服务方法中编写逻辑。所以Sun公司重新定义了GenericServlet抽象类,实现了Servlet接口和其他四个方法的空实现。在我们的实际开发中,只需要继承GenericServlet抽象类即可。但是浏览器访问服务器中有HTTP协议和HTTPS协议,GenericServlet是两种协议的协议,对HTTP协议没有特别的支持。所以Sun公司为HTTP协议开发了HTTPServlet,继承了GenericServlet,提供了很多处理HTTP协议请求的服务。