这篇主要讲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?下一篇文章介绍,谢谢关注.
[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?下一篇文章介绍,谢谢关注.