Web 开发方案选择和实现

本文探讨了Web开发的多种技术路线,包括HTML、JavaScript和CSS的角色,以及Web服务中组件技术的应用。HTML用于构建页面元素,JavaScript处理行为,CSS负责布局。文章详细讲解了HTML表单操作,如数据交互、文件上传、验证和属性设置。同时,讨论了不同的Web服务器,如Apache和Nginx的特点,以及它们在处理动态请求和静态内容方面的差异。此外,还涉及了数据存储与传输、服务器选择和缓存问题的解决方案。
摘要由CSDN通过智能技术生成

目录

一、Web 开发路线选择(HTML负责构建页面元素;JavaScript负责行为;CSS负责布局;web服务采用组件技术扩展处理业务层所有的数据计算,数据分析,数据库联结处理;文件/数据库。)... 2

二、HTML 表单操作(负责构建页面元素)... 4

由form表单来说说前后台数据之间的交互... 4

使用ajax和form表单两种方式上传文件,保存到项目根路径下的指定文件夹下... 4

表单验证... 4

将form表单的一些属性... 5

HTML 5中的本地存储概念... 8

三、Js(jquery解决兼容性问题,负责行为). 9

jQuery的流行很大程度上要归功于解决兼容性问题。... 9

jQuery加载一个html页面到指定的div里... 10

jquery load方法把一个页面载入到主页面的一个div中替换iframe. 10

两个html页面间如何传递数据... 11

jQuery 参考手册 - 选择器... 11

参考:如何做到HTML负责构建页面元素,JavaScript负责行为,CSS负责布局... 11

四、CSS负责布局... 11

五、数据存储与传输选择(json轻便性)... 11

六、web服务选择,采用组件技术扩展处理业务层... 12

apache 重量级的web服务器,访问方式是同步阻塞模式,访问更加稳定。一般动态请求要apache去做     12

nginx 轻量级的web服务器,异步非阻塞模式,速度快。nginx只适合静态和反向。需要性能的web 服务     13

嵌入式WEB服务器 thttpd、lighttpd、Simple HTTPD.. 15

thttpd - tiny/turbo/throttling HTTP server. 15

lighttpd - light footprint + httpd = LightTPD.. 16

SHTTPD - Simple HTTPD.. 17

不适宜投入生产使用嵌入式WEB服务器 Tinyhttpd、mini_httpd. 17

Tinyhttpd. 17

mini_httpd. 18

七、问题... 18

1、缓存问题... 18

2、html+jquery+ajax可以将表单数据存储到服务器的xml文件里吗... 18

3、写惯了 ASP,PHP,CGI的朋友,经常会不自觉的把 presentation layer 和 business layer 混在一起。     18

 

 

一、Web 开发路线选择(HTML负责构建页面元素;JavaScript负责行为;CSS负责布局;web服务采用组件技术扩展处理业务层所有的数据计算,数据分析,数据库联结处理;文件/数据库。) 

 

Web 开发路线1>>>采用了老的 CGI 方式,是一句一句输出,所以,编写和修改 HTML 非常不方便。在传统的 CGI中,每个请求都要启动一个新的进程。

 

Web 开发路线2>>>Servlet 用 Java 编写,Servlet 则没有图形界面,运行在服务器端。Servlet 是一个早期的不完善的产品,写 business layer 很好,写 presentation layer 就很臭,并且两层混杂。而在 Servlet 中,每个请求由一个轻量级的 Java 线程处理(而不是重量级的操作系统进程)。主要功能在于交互式地浏览和生成数据,生成动态Web内容。

这个过程为:

客户端发送请求至服务器端;

服务器将请求信息发送至 Servlet;

Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;

服务器将响应返回给客户端。

Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。

但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

 doPost() 方法

当一个客户通过 HTML 表单发出一个 HTTP POST 请求时,doPost() 方法被调用。与 POST 请求相关的参数作为一个单独的 HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用 doPost() 方法。

Servlet 能够直接和 Web服务器交互,而普通的 CGI 程序不能。Servlet 还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

Servlet 包

Java Servlet 是运行在带有支持 Java Servlet 规范的解释器的 web 服务器上的 Java 类。

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

 

Web 开发路线3>>>Java Server Pages(JSP)是一种实现普通静态HTML 和动态 HTML 混合编码的技术。在 JSP 中编写静态HTML 更加方便,不必再用 println语 句来输出每一行 HTML 代码。

根据 SUN 自己的推荐,JSP中应该仅仅存放与 presentation layer 有关的东西,也就是说,只放输出 HTML 网页的部分。而所有的数据计算,数据分析,数据库联结处理,统统是属于 business layer,应该放在 Java BEANS 中。通过 JSP 调用 Java BEANS,实现两层的整合。

 

总结:一个网络项目最少分三层:data layer(数据层),business layer(业务层),presentation layer(表现层)。当然也可以更复杂。

Servlet 用来写 business layer 是很强大的,但是对于写 presentation layer 就很不方便。

JSP 则主要是为了方便写 presentation layer 而设计的。jsp不要写 business layer理由有3点(1)如果出现大量用户点击,纯 SCRIPT 写业务business layer很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。(2)如果想修改一个地方,经常会牵涉到十几页 code。(3)写文件权限问题。

business layer采用组件技术就只改组件就可以了并且可以提高功能上限和解决写文件权限问题。

根据 SUN 自己的推荐,JSP中应该仅仅存放与 presentation layer 有关的东西,也就是说,只放输出 HTML 网页的部分。而所有的数据计算,数据分析,数据库联结处理,统统是属于 business layer,应该放在 Java BEANS 中。通过 JSP 调用 Java BEANS,实现两层的整合。

二、HTML 表单操作(负责构建页面元素)

是由 <form> 和 </form> 标记定义的。表单中典型地包含输入字段(如文本输入字段、复选框单选按钮和选择列表)和用于提交数据的按钮。当提交信息时,它们还指定服务器应执行哪一个Servlet(或其它的程序cgi或BEAN)。

由form表单来说说前后台数据之间的交互

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值