疯子在思考之从零说MVC

这篇主要讲web开发基础,MVC概念的原型会从这里体现。
[b]首先提一个问题main方法在哪?[/b]
我们学的第一种语言,写hello world时都会写main方法(除脚本语言外),那么我们想一下,我们写web程序时main在哪?
我们以b/s结构为例,很容易想到main其实有两个,一个在服务器端一个在客户端。那么服务器和客户端的通信走的是socket。通信的内容要有协议,即我们熟悉的http,http请求两个最核心的对象是request和response。那么我们再简单回忆一下web程序的hello world 过程.
request 发现请求服务器端接收处理后通过response返回给客户端.这是web程序的基本概念.
下面是httpwatch截图我们可以简单地了解http协议
[img]http://dl2.iteye.com/upload/attachment/0087/2970/d350f5ed-ab62-3739-8dd4-56ddbc8b3ad9.jpg[/img]


[img]http://dl2.iteye.com/upload/attachment/0087/2972/f8a39636-77e0-32d0-8a36-3173ec5c879b.jpg[/img]

到这里我们很容易想到java的servlet。
学java web开发的还都会了解servlet,那么第二个问题?
[b]java是OOP语言,我们知道OOP的对象都是需要new出来才能引用的(或者反射)那么new在哪呢?[/b]
我们不难想到new的过程肯定是服务器端?而且是通过反射机制来生成对象,那么每次请求都要new吗?
答案是否定的,大家都知道servlet是单例多线程而且是线程安全的。这里需要注意一点servlet是不能有成员变量的,注意是成员“变量”。这里可以想到为什么struts2的action要配置成非单例?

[b]注意这里的概念与以后的struts以及spring mvc概念的基础。struts 1或2和spring MVC跟这里是有区别和联系的。[/b]

其实servlet就是mvc的雏形,通过servlet就可以写一个mvc 的hello world.
那么为什么会出现MVC?下一篇文章介绍,谢谢关注.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值