标签:控件 SpringMVC 视图 Controller ModeAndView 组件 五大 DispatcherServlet
链接:https://blog.csdn.net/wsdfym/article/details/91354997
是一个MVC架构,用来简化基于MVC架构的Web应用开发。SpringMVC最重要的就是五大组件
- DispatcherServlet
- HandleMapping
- Controller
- ModeAndView
- ViewResolver
下面一一介绍这五大控件
1.DispatcherServlet
这个控件是SpringMVC 最核心的一个控件,顾名思义其实他就是一个Servlet,是Spring写好的一个Servlet
2.HandleMapping
控件标明了路径与Controller的对应关系,不同的路径访问不同的Controller
3. Controller
用来处理业务逻辑的Java类
4. ModeAndView
Mode用来绑定处理后所得的数据,View视图名
5. ViewResolver
视图解析器明确了视图名与视图对象的关系,是调用demo.jsp还是调用demo.html,以及明确视图的位置
五大组件的关系
五大组件的位置关系
下面说说五大组件的使用以及配置
配置DispatcherServlet
DispatcherServlet属于Servlet所以配置在web.xml文件中。init-param为该Servlet启动所需参数。DispatcherServlet会读取初始化contextConfigLocation参数里面的值从而获取spring的配置位置,然后自启动容器
<!-- 配置前端控制器,配置Servlet --> <servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!--配置请求路径--> <servlet-mapping> <servlet-name>springMvc</servlet-name> <url-pattern>*.form</url-pattern> </servlet-mapping>
2. HandleMapping
mvc:annotation-driven 配置mvc注解扫描 可以用注解@RequestMapping(“url”)加在方法上简化配置prop标明路径和XXController的关系
mvc:annotation-driven 配置mvc注解扫描 可以用注解@RequestMapping(“url”)加在方法上简化配置prop标明路径和XXController的关系
3.Controller
处理getData.form该路径的业务逻辑
@Controller public class DataController { @RequestMapping("getData.form") public ModeAndView hello(String stationId) { System.out.println("hello"); return new ModeAndView("hello") } }
4. ModeAndView
两种ModeAndView的构造方法,第一个视图名,第二个需要绑定的数据
ModeAndView(String viewName) ModeAndView(String viewName ,Map data)
5. ViewResolver
前缀+视图名+后缀=映射到页面
<!-- 配置视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResour ceViewResolver"> <property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".html"></property> </bean>
SpringMVC的部分知识图:
标签:控件,SpringMVC,视图,Controller,ModeAndView,组件,五大,DispatcherServlet 来源: https://www.cnblogs.com/nongzihong/p/15745487.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。