写标题之前还特意百度了一下,我这么写标题会不会有bug,可能是作为一个低端码农的职业病吧。
好,那我就来写写我对springMvc和spring的理解
干了也三年多javaweb开发了,都是在tomcat上忙乎j2ee这些东西。当我们将代码由ecplise编译成class文件放到tomcat下后,启动tomcat,jvm加载tomcat需要的jar、class,搜索到到我们的项目,接着加载我们项目的class(这里不知道如果是war包放上去是怎么样一个过程),加载完成后启动tomcat,启动我们的j2ee,启动时的listening监听到项目被启动,启动spring容器(一个可以让你放bean进去的环境,bean就好像你看到java类一样),之后加载j2ee的过滤器啊什么的,之后加载Servlet,当然我们是springmvc,所以我们只有一个servlet,那就是DispatcherServlet,
【我们call的所有请求都是由这个servlet接收之后到spring容器里去找对应的(类似url-》方法的一个key-value),方法接收request response处理后返回。这个springMvc提供多种返回的modelandview配置,其实我觉得都是在修改http的一些属性,因为说白了我们call(访问)的过程就是一个http的提交和返回嘛】
加载dispatcherservlet是我们会看到配置contextConfigLocation来加载其他配置文件,我们可以启动注解然后@controller,或者直接在配置文件里写哪些要作为bean放到spring里让dispatcherservlet调用。
之前读过很多很多spring原理啊什么的,记住很多但也都慢慢忘没了,工作中用的不是很多,感觉spring就是个容器吗,想集成什么,就把集成的东西写成个bean放到里面,再去用。(突然想到单例多例,这是开启我对spring理解的一个启发点,因为工作两年我才听说有单例多例这回事,然后就不停的看资料)
先说这么多吧,一会有项目要做版本更新,我想把class放到生产上,一会重启。或说这种互联网的项目真费劲,放个代码要放7、8台服务器。
写的有点乱,但希望给正在迷糊的你有点启示,我有说错的地方也请大家明示,共同进步嘛。