搞懂了这几点,你就学会了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://2qiu.55jiaoyu.com/show-31241.html
本文由合作方发布,不代表展全思梦立场,转载联系作者并注明出处:展全思梦
推荐文档
- 11.德阳科贸职业学院中职部软件技术专业专业介绍
- 12.沈阳所有的本科专科大学名单(2025)
- 13.2025中国艺术类大学排名(校友会版)
- 14.湖州市第二中学_湖州招生网
- 15.重庆高中学校升学排行2022(附高考成绩)-2023参考
- 16.武汉江南技术学校2025年宿舍条件
- 17.河北传媒学院是几本?是985和211吗?
- 18.2025怀仁县第一高级职业中学招生计划招生人数是多少
- 19.2025重庆工商大学派斯学院评价怎么样,学校好不好
- 20.池州职业技术学院网站网址
- 21.2025哈尔滨工程大学专业排名一览表
- 22.天津音乐学院是什么样的大学985还是211高校(附王牌
- 23.2023沈阳航空航天大学高考录取分数线是多少(2025参考)
- 24.雅安市十大高中排名(最新)汇总
- 25.烟台三中2022录取分数线(2023参考)
- 26.往年高考多少分可以上河北工业大学?(2025年参考)
- 27.陕西数控加工中职学校排名榜(最新)
- 28.长安大学附属中学_西安招生网
- 29.湖北工程学院新技术学院_孝感招生网
- 30.江阴第一中学2021年宿舍条件
- 31.2025年军校体检项目一览表及军校体检要求
- 32.乐清三中2022录取分数线(2023参考)
- 33.2025沈阳排名前三的艺术学校名单
- 34.2025张家口排名前八的公办中职学校名单
- 35.苏州技校_苏州有哪些技校_苏州招生网
- 36.武汉2021年哪个航空服务学校就业比较好
- 37.2023陕西大专院校排名名单一览表
- 38.广东惠州中考普高录取分数线(2022)-2023年参考
- 39.富县高级中学网站网址
- 40.邦博尔湖州招生网_湖州招生信息_湖州招生考试平台
- 41.邦博尔哈尔滨招生网_哈尔滨招生信息_哈尔滨招生考试平台
- 42.东北农业大学是什么样的大学985还是211高校(附王牌
- 43.杭州所有的本科专科大学名单(2025)
- 44.六盘水第二中学网站网址
- 45.2025四平各区重点高中学校名单及排名表
- 46.招生信息_永丰职业中等专业学校
- 47.成都纺织高等专科学校地址在哪里
- 48.往年高考多少分可以上西北政法大学?(2025年参考)
- 49.西安科技大学有哪些专业
- 50.广东开设会计电算化专业的职业学校名单一览表
- 51.中南大学_长沙招生网
- 52.淄博职业学院评价怎么样,学校好不好
- 53.中南大学招生录取分数线
- 54.汶上一中2022录取分数线(2023参考)
- 55.柳州第二职业技术学校怎么样、好不好
- 56.郫县第四中学怎么样、好不好
- 57.德阳外国语学校2021年学费、收费多少
- 58.太原六十三中、太原六十四中2022录取分数线(2023
- 59.河南省实验中学2022录取分数线(2023参考)
- 60.吉首大学医学院_湘西招生网
- 51.十堰中考考试时间
- 52.惊心+火爆
- 53.95后正青春学互联网技术迎接新时代!
- 54.泰山医学院药学(临床药学方向)专业招生简章及要求_泰山医学院招生
- 55.川大职业技术学院建筑工程技术招生
- 56.泰山医学院口腔医学专业招生简章及要求_泰山医学院招生
- 57.四川省南充中等专业学校招生办联系电话、地址
- 58.哪些学校有应用气象技术专业-开设应用气象技术专业的大学名单汇总
- 59.漫步人生步步为营
- 60.女生看过来:互联网行业“她时代”到来女性创业者占“半边天”
- 61.绵阳有几家中专学校
- 62.“廊考”不该有高分不等于高能
- 63.四川理工技师学院招生计划
- 64.高中生:四川省电子商务学校春季招生简章
- 65.遇见名师,预见未来!大咖导师带你走进云计算的未来世界
- 66.四川中专学校有什么专业适合女生
- 67.转行到什么行业才靠谱?先看了再说!
- 68.校园男女不可痴迷的7种恋爱
- 69.-全国宗教学专业大学排名
- 70.“长风破浪会有时,直挂云帆济沧海”

