搞懂了这几点,你就学会了Web编程
(4) 理解同步vs异步(由此引出AJAX,以及JQuery等框架)
后端的业务代码该如何组织?相信现在不会有人把业务逻辑都写到Servlet当中了,所以需要很多MVC框架像Struts , SpringMVC来组织代码,让系统清晰易懂。
2、Web页面是怎么组成的?
由于AJAX以及手机端的存在,对于一个URL的请求,他们要求的返回值通常不是HTML页面,而是XML或者JSON数据,此时需要有框架把对象转化成相应的字符串。
做了那么多年Web编程,仔细想想,其实本质上就那点事儿,你抓住了几个重点问题,学起来一点都不难。
8、用什么技术来生成Web页面?
(1) GET和POST。GET从服务器端获取数据,POST 向服务器端发送数据(由此引出图片上传问题)
1、理解浏览器/服务器结构 (B/S)
如何保证浏览器发过来的数据是符合要求的?
如何防止黑客利用SQL注入,跨站脚本攻击,跨站请求伪造等手段来攻击系统?
无论哪种模板,都需要面对一个重要问题:如何展示从业务逻辑层发送来的数据? 这一步骤其实和第5步中的数据绑定有密切关系。因为这一步需要确定诸如user.name , user.password这样的字段名称。
复杂点的需要用O/R Mapping 框架来搞定,例如 Hibernate,MyBatis,还有RoR的ActiveRecord。
其次B/S的访问协议也标准化为HTTP(s) ,而不是原来各种各样的私有协议。
B/S 是从 90年代的客户端/服务器端发展而来,共同点都是由一个(或一组)服务器来服务多个客户端。
浏览器发过来的数据都是形如username=liun&password=123456这样简单的文本,但是后台程序却有着丰富的数据类型,什么String, Date ,Integer等等。所以需要把文本变成指定语言的类型。
例如user.name=liun&user.password=123456 可以绑定到一个叫User的对象,其中有两个属性userName和password。
简单来说就是HTML+CSS+Javascript ,我们看到的Web界面就是由这三者组成。
最简单的就是弄一个key : value 这个样的Map出来,业务代码直接用map.get(key) 即可。
当然是HTTP!HTTP说穿了就是浏览器和服务器聊天是的一种约定,这个约定确保双方互相理解。
搞定了Web这些基础的金堂西,在公司里做一个Web程序员应该不在话下了,接下来需要学习的就是像高并发,缓存,搜索,分布式等高级的内容了。
5、数据的验证、转换和绑定
能不能直接用Servlet的PrintWriter直接输出HTML? 当然可以,只是以后就没有人看懂了。
我们说的前端开发也主要是做这一块,对于前端工程师,需要能理解DOM 模型,以及如何通过javascript(例如JQuery等框架)来操作DOM模型。
类型转换以后,后端的业务代码怎么才能有效的使用呢?
对于简单的应用,直接写点JDBC就够用了,只需要掌握Connection, Statement , Resultset这三个基础。
4、URL 和 代码的映射
例如不能为空、不超过8个字符、两个密码必须相等....,出错了得给出错误提示。
6、Web安全
7、数据库访问
这样的规则是在哪里定义的?用代码、注解还是配置文件?
扩展开去,还需要处理连接池,事务,锁等各种烦人问题。
高级一点的可以把页面发来的数据直接绑定到对象的属性上,并且支持数组,嵌套等复杂的结构。
9、如何把对象变成XML或者JSON字符串?
最后B/S结构中的服务器面向全球用户访问,而不像C/S那样仅仅是局域网,所以压力更大,挑战更大。
说白了就是有一个HTML的模板,里边可以嵌入代码,这个模板在运行时(例如在Tomcat当中)就可以根据输入的不同而生成不同内容的Web界面了。
其实我们最常用,也是最重要的也就那么几点:
(2) HTTP是个没有状态的协议,需要通过额外的机制来维持状态(例如登录状态),常用的方法就是cookie。
现在用来创建Web页面的技术多如牛毛:例如JSP, Velocity, Freemaker, Groovy等等,他们都有一个共同点:模板技术。
这里说的Web页面就是第2点中的页面,包括HTML,CSS,Javascript。
3、浏览器和服务器是怎么打交道的?
完整的HTTP是非常复杂的,《HTTP权威指南》一书厚达700多页。
(3) 理解HTTP状态码
这其中比较棘手的就是表之间的关联,就是所谓的一对多,一对一,多对多这样的关系,如何在面向对象的世界里描述。
这一块是比较麻烦的,毕竟面向对象(OO)世界和关系(Relational)数据库之间存在着天然的鸿沟。
HTML负责结构,CSS负责展现,而Javascript负责行为。
差别在于:首先,C/S结构的客户端可能是由不同语言编写的,例如VB,Delphi, PowerBuilder等,B/S结构中浏览器成为了一个通用的客户端,程序以Web的方式呈现,不需要安装,服务器端的升级就意味着所有客户端的升级,这和C/S相比是个翻天覆地的变化。
本文地址:http://53.55jiaoyu.com/show-31241.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.印刷工程专业课程学什么(毕业后做什么工作)
- 12.财政学专业_财政学专业可以考哪些公务员岗位
- 13.互相推诿相关的成语
- 14.怎样关闭叮咚买菜自动定位
- 15.卧虎藏龙的法语
- 16.河南大学全国排名(河南大学排名如何?)
- 17.误惑相关词语
- 18.外流湖的英语
- 19.积痾诗句
- 20.海南900分怎么算的2025海南高考各科分值
- 21.英华相关词语
- 22.击目的网络解释
- 23.黄连素相关词语
- 24.幻翳相关成语
- 25.敦厚纯朴和活泼开朗的区别
- 26.燕花的网络解释
- 27.韶新高速隧道限速有拍照吗
- 28.锦瑟年华相关的词语
- 29.隐化的拼音
- 30.油滑近义词
- 31.康师傅3+2什么时候出的
- 32.农村信用社取一万出来需要利息吗
- 33.入户前可以贴装饰吗
- 34.2022年教师节是第几个教师节
- 35.龙拏虎掷的注音
- 36.京东如果有员工携款怎么处理
- 37.cf刷箱子技巧(cf刷箱子)
- 38.1000和375的最大公因数
- 39.关于情人节的文案给女朋友
- 40.梦见很多蜜蜂是什么意思呢
- 41.徐南铁书法价值高吗
- 42.梦见白狐狸是什么预兆
- 43.q50(关于q50的基本详情介绍)
- 44.音乐生180分高嘛
- 45.天号陈红盒38度多少钱(天号陈)
- 46.空中冲刺小游戏玩一玩(空中冲值)
- 47.幼猫吃什么奶粉好(幼猫吃什么)
- 48.银行保险柜续费能提前多久
- 49.喝牛奶记住4个最佳时间
- 50.彩云小梦可以在电脑上登录吗
- 51.林宥嘉妻子晒全家福(林宥嘉资料)
- 52.怀古诗是指文体吗
- 53.鬼节出生的人争议大吗
- 54.女生冬天穿的丝袜叫啥(关于它的介绍)
- 55.广州地铁3号线首末车时间
- 56.成都合院怎么停车
- 57.起亚k3能长时间断电吗
- 58.长沙阜埠河是条河吗
- 59.海山怎么去(怎么去海山)
- 60.暴雪预警分为哪四个等级
- 51.《我去上学啦2》体验式教学的背后是职业教育的模式红利
- 52.不畏失败,他迎来怒放的春天
- 53.宝鸡有色金属加工厂技工学校宿舍条件
- 54.-建筑历史与理论专业考研学校排名
- 55. 四川工商学院招生专业及计划人数
- 56.四川省南充师范学校招生简章
- 57.四川工商职业技术学院报名时间及报名方式
- 58.四川信息职业技术学院报名简介
- 59.通化师范学院学前教育专业招生简章及要求_通化师范学院招生
- 60.哈尔滨医科大学康复治疗技术专业招生简章及要求_哈尔滨医科大学招生
- 61.乐山第一职业高级中学报考指南
- 62.@退伍军人,有一种选择是专门为你们准备的
- 63.青白江区技工学校招生专业、电话
- 64.工业互联网引领技术制高点
- 65.【新生故事】李翔:就算跌倒也要豪迈地笑
- 66.高中辍学生逆袭为年入百万的创业boss
- 67.大二该如何过,才不虚度?
- 68.“农二代”的出路在哪里?
- 69.展示你才华的机会来了!
- 70.西南民族大学怎么样呢?

