`
zh_harry
  • 浏览: 102469 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
877aca81-daac-33c8-8bf9-3a886cebc6c3
自己动手写java 框架
浏览量:28412
社区版块
存档分类
最新评论

疯子在思考之从零说MVC

    博客分类:
  • JAVA
阅读更多
这篇主要讲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?下一篇文章介绍,谢谢关注.
  • 大小: 45 KB
  • 大小: 63.4 KB
5
18
分享到:
评论
8 楼 jahu 2013-07-23  
zh_harry 写道
zh_harry 写道
jahu 写道
mvc 跟main方法有什么关系?不知所谓

这里要讲的mvc主要应用于web领域,web的底层是什么?这是从根源上思考问题。

不知道大家有没有了解过易经,老子说道生一、一生二、二生三,三生万物,其实这是一种思维的哲学。悟到了根源就是所谓的道。


我想问题你,mian是启动方法,,那么作为web项目,他的启动必须是web服务软件。你在mvc找main能找的到吗?mvc只是一种思想解决问题的方案而已。还有你ioc的理解很不到位,,依赖注入,没有依赖我注入什么?  ioc的另外一种称呼是 反转控制。你可以通过这两个词去真正的理解ioc的内涵,和趋向。
7 楼 zh_harry 2013-07-23  
zh_harry 写道
liangcoder 写道
“大家都知道servlet是单例多线程而且是线程安全的”
是不是笔误呀? 地球人都是知道servlet是线程 不安全 的!

我说的线程安全是有"括号"的!仔细看

很多人喜欢断章取义,我不知道是有意的还是无意的
6 楼 zh_harry 2013-07-23  
liangcoder 写道
“大家都知道servlet是单例多线程而且是线程安全的”
是不是笔误呀? 地球人都是知道servlet是线程 不安全 的!

我说的线程安全是有"括号"的!仔细看
5 楼 liangcoder 2013-07-23  
“大家都知道servlet是单例多线程而且是线程安全的”
是不是笔误呀? 地球人都是知道servlet是线程 不安全 的!
4 楼 zh_harry 2013-07-23  
zh_harry 写道
jahu 写道
mvc 跟main方法有什么关系?不知所谓

这里要讲的mvc主要应用于web领域,web的底层是什么?这是从根源上思考问题。

不知道大家有没有了解过易经,老子说道生一、一生二、二生三,三生万物,其实这是一种思维的哲学。悟到了根源就是所谓的道。
3 楼 zh_harry 2013-07-23  
jahu 写道
mvc 跟main方法有什么关系?不知所谓

这里要讲的mvc主要应用于web领域,web的底层是什么?这是从根源上思考问题。
2 楼 jahu 2013-07-23  
mvc 跟main方法有什么关系?不知所谓
1 楼 hyj1254 2013-07-23  
往大了说是面向抽象编程,不依赖于具体实现。

相关推荐

    .net(mvc)宾馆管理系统

    《.NET(MVC)宾馆管理系统详解》 ...总的来说,选择.NET(MVC)作为宾馆管理系统的开发平台,不仅能提供强大的功能支持,还能带来良好的可扩展性和维护性,是构建现代化宾馆信息系统的一个理想选择。

    《天才在左疯子在右》的基本介绍和推荐理由[定义].pdf

    《天才在左疯子在右》的基本介绍和推荐理由[定义].pdf

    疯子手机apk卸载工具

    疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机apk卸载工具疯子手机...

    疯子苹果助手 v1.0.1.318.zip

    首先,疯子苹果助手的特性之一是其海量的正版软件和游戏资源。用户可以在该平台上找到众多官方认证的应用,涵盖娱乐、教育、工具、社交等多个领域,满足不同用户的个性化需求。每日更新的新增应用确保了用户始终能够...

    疯子锁IE插件源码程序演示效果

    总结来说,"疯子锁IE插件源码程序演示效果"提供的是一种针对IE浏览器的保护工具,它可以锁定浏览器的使用、主页设置和代理服务器设置,确保用户隐私和安全。这款插件的特色在于其易用性和全面的保护措施,适用于个人...

    疯子CMS_轻简杰奇小说系统.zip

    【疯子CMS-轻简小说系统】是一款专为小说网站设计的内容管理系统(CMS),它以简洁易用为核心理念,旨在让网站管理员能够快速搭建和管理自己的小说平台,无需复杂的操作和大量的技术背景。这款系统可能包含以下关键...

    手机助手 疯子助手

    疯子助手是一款为苹果设备用户提供应用下载和游戏破解的软件,疯子助手里提供了海量不闪退应用和近千款极高有效度的ios热门游戏存档。 疯子助手完美支持不越狱的iPhone和iPad等iOS设备,是一款下载安装和管理软件、...

    读后感《天才在左,疯子在右》.doc

    《天才在左,疯子在右》这本书以其独特的视角探讨了人类思维的边界,通过对话精神病人的经历,引发读者对自我认知和世界本质的深度思考。以下是对书中的几个核心观点的解读: 首先,作者通过描述吃苹果的过程,强调...

    初中语文文摘社会疯子

    总结来说,这篇文摘通过一个社会边缘人物的故事,讨论了规则遵守、社会责任、环保意识以及社会对非主流行为的态度,引导读者深入思考何为真正的正常,以及如何评价个体在社会中的角色。它提醒我们在面对社会的普遍...

    电脑疯子GHOST-WIN7-SP1旗舰版(64位).doc编程资料

    电脑疯子GHOST-WIN7-SP1旗舰版(64位).doc编程资料

    疯子页面采集器 v4.0

    "疯子页面采集器 v4.0" 是一款专门针对网页数据采集的高效工具,它设计的目的是为了帮助用户从互联网上抓取并处理各种类型的信息,如文字、图片等。这款软件尤其适用于那些需要大量网页信息进行分析、研究或者自动化...

    读后感ۥ天才在左疯子在右精选.doc

    总的来说,《天才在左,疯子在右》不仅是一本书,更是一次对思维边界和人性深度的探索。它教会我们要开放心态,接纳不同,以及深入体验和理解生活中的每一刻。通过阅读,我们有机会反思自我,挑战既定观念,从而获得...

    C# mvc 订单系统(数据库+源码)

    总结来说,"C# MVC 订单系统(数据库+源码)"是一个涵盖C#编程、MVC架构、数据库设计和Web应用开发实践的综合案例。通过分析和学习这个项目,开发者可以深入理解如何构建一个完整的订单处理系统,同时提升自己的C#编程...

    疯子ftp上传工具源码传送数据到服务器源码版.rar

    在这个"疯子ftp上传工具源码传送数据到服务器源码版.rar"压缩包中,包含的源码可能是一个实现了FTP协议的上传工具,允许用户将本地文件上传至远程服务器。 FTP上传工具的核心功能通常包括以下部分: 1. **连接建立...

    疯子ftp上传工具传送数据到服务器2.0.zip

    疯子ftp上传工具传送数据到服务器 ftp上传工具 ftp服务器上传 ftp客户端 ftp服务器客户端 2.0新功能 密码加密 在线更新 更新缓存错误

    推箱子疯子版.zip

    1. **关卡设计**:疯子版可能会有更多精心设计的关卡,这些关卡可能包含多个难度等级,从初级的简单关卡逐渐过渡到需要深度思考和多次尝试的高级关卡。关卡设计可能更加巧妙,利用地形、障碍物以及箱子的数量来增加...

    DELPHI 的仿QQ疯子 不完全

    接下来,我们将详细讨论DELPHI编程语言以及在实现仿QQ疯子过程中可能涉及的关键技术点。 DELPHI是Borland公司推出的一种面向对象的、快速应用程序开发(RAD)工具,基于Pascal语言。它以其高效的编译器和强大的VCL...

    JSP从零开始学(视频教学版)第三部分

    JSP从零开始学(视频教学版),出版时间:2016年01月 .JSP依靠强大的 Java基础,成为世界上最流行的 Web开发利器。本书通过大量的实例,循序渐进地为读者介绍了有关 JSP开发所涉及的各类知识,所有版本一律采用*版本,是...

    疯子扫描器

    在数据扫描方面,疯子扫描器不仅能够读取文件内容,还可能包括文件属性、元数据和隐藏文件。这对于数据安全和隐私保护来说具有重要意义,因为许多敏感信息可能隐藏在这些不显眼的地方。同时,它可以帮助用户识别网络...

    JSP从零开始学(视频教学版)第一部分

    JSP从零开始学(视频教学版),出版时间:2016年01月 .JSP依靠强大的 Java基础,成为世界上最流行的 Web开发利器。本书通过大量的实例,循序渐进地为读者介绍了有关 JSP开发所涉及的各类知识,所有版本一律采用*版本,是...

Global site tag (gtag.js) - Google Analytics