前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java和Python的Web开发

Java和Python的Web开发

作者头像
jeanron100
发布2018-03-22 14:06:47
1.3K0
发布2018-03-22 14:06:47
举报
文章被收录于专栏:杨建荣的学习笔记

在Java里面有一种服务端的软件组件技术,叫做Servlet,其实它的定位就是轻巧的小玩意,比如Java里面的applet也是类似的命名。Servlet能够动态的扩展web服务器的功能,简单来说,就是在Http服务器上提供了一个扩展的接口,是一个接口标注。

按照JavaEE的规范,任何servlet都需要直接或间接的实现Servlet接口,即javax.servlet.Servlet,这个接口里面只定义了5个方法,但是因为servlet是协议无关的,要直接实现还是很困难的,所以,曾经的sun给除了实现Servlet接口的类,是javax.servlet.GenericServlet类。很显然这个通用的类只能是一个抽象类,里面的核心方法是service(),所以由此可以看出,它还是协议无关,依旧和协议无关,所以就有了新的实现类HttpServlet,我们写web应用的时候只需要重点关注如何重写get和post方法即可。原来是从安全和扩展性上更倾向于post方法,但是目前get方法更流行一些。

而到了Python栈,情况会略有一些变化。简单来说,如果不使用任何web框架,我们可以完全使用socket的方式来实现,这也就是Python web应用的本质了。现在流行很火的web框架都是在这个基础之上补充完善。

Python的web开发使得我们更专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口,让我们专心用Python编写Web业务,这个接口就是WSGI(web server gateway interface),感觉和servlet有异曲同工之妙。和Java中servlet中service()不同的是,WSGI接口定义非常简单,只要求Web开发者实现一个函数,就可以响应HTTP请求。比如login,index方法等。所以url的筛选也是重中之重。

而从架构模式的角度来说,Java中更侧重提到MVC,而在Python中则是MTV(不是音乐的那个mtv)。

简单来说,MVC和MTV是类似的,只是归属于不同的开发目录。都是在已有的实现上解耦合,通过配置和扩展来实现复杂的需求。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档