springmvc的原理

打的不好,请指教

1.之前我们没有框架怎构建的项目
servlet + jsp

详细的流程就是:
springmvc的原理

springmvc的原理

这个传统的方法缺点就是:一个servlet只能处理一个url,所以要实现页面很多次跳转就会需要很多的servlet,


所以我们需要一个更加简单的方法 springmvc的原理图:

springmvc的原理

2.springmvc可以实现把地址配在方法上,现在框架就是方法级别的,让地址直接对应方法,之前地址对应的是servlet,所以web层就有一个就行

3.你建立一个maven项目(开始的时候选择war,之前我选择的jar就导入包的时候出了问题)的时候上来就需要创建一个WEB-INF包然后加一个web.xml文件 这个防止开始的报错

4.记住了,用框架就一定要导入jar包,因为这个是别人写好的东西,就比如springmvc(导入这个包版本号必须要统一)这个框架就需要导入spring contxt(4.1.6) spring web mvc (4.1.6) 有时候导入一个jar然后这个有依赖传递,别的jar包也会进来

5.现在xml文件和导入的包都有了,
第一步:配置servlet 在web.xml文件里边 配置dispacherservlet
这里的url-pattern里边的 / 就是拦截所有的请求,包括图片

springmvc的原理


第二步 如果你想在服务器启动的时候就 创建对象,就需要配置load on startup 例如::

springmvc的原理


这时候其实启动服务器会报错,报的错就是缺少这个
所以我们需要建立一个这样的文件

springmvc的原理


这样的文件要求不少 如果你给这个文件初始化参数(也就是给他起名字)init-param里边的param-value就是给他起名字 (这里叫springmvc) 没写这个init-param这里的默认的名字就是servlet-name里边的加一个-servlet (这里就是spring-servlet)
springmvc的原理


第三步:想把某个方法扫描到handlermapping里边
首先springmvc里边配置一下 加一个注解驱动和组件扫描包

springmvc的原理


其次在类上加一个@Controller
然后在你需要的方法上加一个@RequestMapping
ps在服务器启动的时候,springmvc.xml就会启动,通过解析后的地址然后到handlermapping
存放一个对象(里边有类名,方法名,参数) 然后这个对象返回给dispacheservlet

springmvc的原理


第四步:需要配置视图解析器
ps:如果用jsp的话 第一行<bean class="org........
第二行是一样的< property name = "viewclass" ............

                                         这两行是不变的如图片所示

springmvc的原理