• 疯子在思考之从零说MVC


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





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

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

    其实servlet就是mvc的雏形,通过servlet就可以写一个mvc 的hello world.
    那么为什么会出现MVC?下一篇文章介绍,谢谢关注.
  • 相关阅读:
    Python多线程之死锁
    Python多线程之间同步总结
    C语言动态数组
    Python标准库 -- UUID模块(生成唯一标识)
    东南亚 SAP 实施 马来西亚税收在SAP的设计和实现
    odoo:开源 ERP/CRM 入门与实践 -- 上海嘉冰信息技术公司提供咨询服务
    SAP FICO 凭证导入接口 数据xml格式
    SAP HANA S4 FI TABLE表结构
    CFA一级知识点总结
    汽车行业与 Telematics
  • 原文地址:https://www.cnblogs.com/hiaming/p/8967798.html
Copyright © 2020-2023  润新知