Sping MVC知识点总结
来源:互联网 发布:浮空 知乎 编辑:程序博客网 时间:2024/04/24 18:38
Sping MVC知识点总结
第一次总结,可能还不全面,但是会尽量的简单易懂
- Spring MVC是怎样工作的
Spring MVC是怎样工作的
Spring的web模型 - 视图 - 控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。 Spring的Web MVC框架的DispatcherServlet的请求处理流程说明如下图:
图2_1
具体执行步骤如下:
1、 首先是浏览器通过向前端控制器发送一个请求,由前端控制器选择哪个页面控制器来处理这个请求;
2、 页面控制器接收到请求,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象(在模型中)进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);
3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;
4、 前端控制器再次收回控制权,将响应返回给浏览器,至此整个结束。
配置文件的配置
1.首先就应该在web.xml文件中配置前端控制器(DispatcherServlet),
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- SpringMVC的前端控制器 --> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- Spring MVC配置文件结束 --> <!-- 拦截设置 --> <servlet-mapping> <servlet-name>Hello</servlet-name> <!-- 由SpringMVC拦截所有请求 --> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
这其中没有太多要注意的,主要是配置SpringMVC的前端控制器,并且由SpringMVC拦截所有请求.
2.其次就是配置spring mvc自身的配置文件-[servlet-name]-servlet.xml
(1)可以采用默认配置:放置于WebContent/WEB-INF下
(2)或者在web.xml文件中自定义xml文件
<!-- 设置自己定义的控制器xml文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/Hello-servlet.xml</param-value>
</init-param>
3.就应该是[servlet-name]-servlet.xml文件的配置
<!-- 把标记了@Controller注解的类转换为bean --> <context:component-scan base-package="com.mucfc" /> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/views/" p:suffix=".jsp"/>
4.定义控制器
@Controller public class HelloWorldController { @RequestMapping(value="/hello",method=RequestMethod.GET,params="userid") public String printWelcome(ModelMap model,String userid) { model.addAttribute("message", "Spring 3 MVC Hello World"); return "hello"; }
注解@Controller表示一个特定的类提供一个控制器的角色。注解@RequestMapping 用于将URL映射到任何一个类或者一个特定的处理方法,该控制器上的所有处理方法是相对于/hello 路径。
return “hello”定义的服务方法可以返回一个字符串,其中包含要用于渲染模型视图的名称。这个例子返回“hello”作为逻辑视图名。
5.创建逻辑视图(主要是jsp)
注意文件名:是hello.jsp,还记得上面说的“这个例子返回“hello”作为逻辑视图名”吗?
- Sping MVC知识点总结
- sping mvc
- sping mvc
- sping mvc
- Sping-MVC
- sping mvc
- MVC知识点总结
- Sping总结
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- JavaWeb学习总结——简单模拟Sping MVC
- JavaWeb学习总结(四十九)——简单模拟Sping MVC
- Java Web学习总结49:简单模拟Sping MVC
- 综合评价书籍5:经典书籍--《综合评价理论、方法及应用》
- 算法收集
- 事务入门
- Myeclispe 2016 stable1.0版 完美破解
- 函数参数为对象的识别
- Sping MVC知识点总结
- eclipse导入hibernate 的DTD 文件
- 通关!游戏设计之道的学习笔记(八)战斗的要素
- VC----MFC对象的创建
- NYOJ1057寻找最大数(三)
- 124. PHP 性能分析
- Windows下使用Visual Studio 2010编译ffmpeg全过程
- mac 下VIM 配色方案
- OJ-----字符串合并处理