springmvc入门
.
1说明:
- 1.用户发送请求到dispatchservlet
- 2.dispatchservlet根据用户的请求路径去 HandlerMapping中查找Handler ,HandlerMapping返回HandlerMapping和interceptors
- 3.dispatchservlet根据返回的Handler 调用 HandlerApater 根据具体的Handler实现方式去匹配Handler
- 4.dispatchservlet通过HanlerAdapter 匹配到Handler 后处理业务逻辑
- 5.Handler 通过适配器 返回 Model 和view 给dispatchservlet,
- 6.dispatchservlet根据返回的视图名称 通过视图解析器 去渲染视图,
- 7.view 视图展示给用户
1.2 启动tomcat执行步骤
- 1.启动tomcat时 ,加载 web.xml
- 2. 在web.xml 中配置dispatchservlet 的servle
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup> //启动加载
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--
/*: 拦截所有请求,包括jsp
/ : 拦截所有请求,不包括jsp,拦截静态资源
*.do *.action *.html *.htm
-->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
- 3.设置启动加载 就可以先加载dispatchservlet
- 4.dispatchservlet 去加载读取对应的xml springmvc-servlet.xml
Dispatchservlet 根据用户的请求路径 hello.do去映射器查找
- 去根据 映射器和适配器找到对应的 HelloController, 返回model和view
- 5.在springmvc-servlet.xml 需要以bean的形式 注入 HandlerMapping映射器
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
- 6.在springmvc-servlet.xml 需要以bean的形式 注入HandlerAdapter适配器
- 7. 注入ViewResolver 视图解析器
<bean name="/hello.do" class="cn.itcast.springmvc.controller.HelloController" />
<!-- 配置视图解析器 -->
<!-- Example: prefix="/WEB-INF/jsp/", suffix=".jsp", viewname="test" -> "/WEB-INF/jsp/test.jsp" -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
- 9. 根据返回的model 和view 在视图解析器解析
Prefix 是在具体的路径下
Suffix 是以什么结尾
然后找到对应的.jsp文件 渲染视图
2.1 注解形式 启动
2.1 使用注解和使用注解的区别
以前每个类需要都实现Controller接口
2)每个类(Controller)只能完成一个用户请求(或者只能处理一个业务逻辑)
3)每个类(Controller)都要在配置文件里,进行配置
2.2 使用注解的 springmvc-servlet.xml配置
默认 注入了注解的 映射器 和适配器 因此可以不配
在对应的类上家注解
@controller
在方法上家注解@RequestMapping(value="show1")
由于默认注解过时 使用
<!-- 配置注解驱动,替代推荐使用的映射器以及适配器,json转换器 -->
<mvc:annotation-driven />
<!-- 开启注解扫描 -->
<context:component-scan base-package="cn.itcast.springmvc.controller" />
3.1ResquestMapping 解读
Value:标准URL(类上的value+ 方法上的value,如果没有/ ,自动添加)
Ant风格(通配符:? * **)
Rest风格(占位符{xxx} 作用:通配,传递参数)
Method:限定请求方法的映射(RequestMethod:post get delete put)
Params:限定请求参数的映射(params=“id” “!id” “id=1” “id!=1” {逗号分隔})
.
浙公网安备 33010602011771号