SpringMVC框架笔记 第一天
文章目录
- 前言:
- SpringMVC框架
- 1-1 SpringMVC的优势
- 2-1 SpringMVC框架的快速入门
- 2-2 SpringMVC入门程序的执行过程
- 2-3 SpringMVC入门程序中涉及的组件
- 2-4 说明
- 2-5 RequestMapping注解
- 3-1 请求参数的绑定
- 3-2 SpringMVC常用的注解
前言:
少年易老学难成,一寸光阴不可轻。未觉池塘春草梦,阶前梧叶已秋声 。—朱熹《劝学诗》
勤奋才是改变你命运的唯一捷径。整理不易,各位看官点赞再看更舒适,养成好习惯(●´∀`●)
SpringMVC框架
1-1 SpringMVC的优势
1、清晰的角色划分:前端控制器(DispatcherServlet)请求到处理器映射(HandlerMapping)处理器适配器(HandlerAdapter)视图解析器(ViewResolver)处理器或页面控制器(Controller)验证器(Validator)命令对象(Command请求参数绑定到的对象就叫命令对象)表单对象(Form Object提供给表单展示和提交到的对象就叫表单对象)2、分工明确,而且扩展点相当灵活,可以很容易扩展,虽然几乎不需要3、由于命令对象就是一个POJO,无需继承框架特定API,可以使用命令对象直接作为业务对象。4、和Spring 其他框架无缝集成,是其它Web框架所不具备的。5、可适配,通过HandlerAdapter可以支持任意的类作为处理器。6、可定制性,HandlerMapping、ViewResolver等能够非常简单的定制。7、功能强大的数据验证、格式化、绑定机制。8、利用Spring提供的Mock对象能够非常简单的进行Web层单元测试。9、本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。10、强大的JSP标签库,使JSP编写更容易。..................还有比如RESTful风格的支持、简单的文件上传、约定大于配置的契约式编程支持、基于注解的零配置支持等等。
2-1 SpringMVC框架的快速入门
框架入门的需求:便写jsp的页面,编写超链接,点击链接,发送请求,SpringMVC框架处理请求,转发到成功页面具体步骤如下:1.创建maven的项目,导入开发的坐标(或导入jar包)commons-logging-1.2.jarspring-aop-4.3.13.RELEASE.jarspring-beans-4.3.13.RELEASE.jarspring-context-4.3.13.RELEASE.jarspring-core-4.3.13.RELEASE.jarspring-expression-4.3.13.RELEASE.jarspring-web-4.3.13.RELEASE.jarspring-webmvc-4.3.13.RELEASE.jar2.编写index.jsp页面和suc.jsp页面index.jsp页面<%@ page contentType="text/html;charset=UTF-8" language="java" %>入门程序 ====<%--超链接--%>入门
入门程序suc.jsp页面<%@ page contentType="text/html;charset=UTF-8" language="java" %>成功 入门成功了.......
3.编写Controller类(控制器类),方法就可以去执行//控制器:处理用户的请求@Controllerpublic class HelloController {//处理超链接发出来的请求@RequestMapping("/hello.do")public String sayHello(){System.out.println("入门方法执行了...");//返回值为jsp页面跳转的路径,默认使用的是请求的转发//return "/suc.jsp";//配置了视图解析器后的写法return "suc";}}4.配置前端控制器(Servlet,SpringMVC框架提供的)(web.xml)dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc.xml 1 dispatcherServlet *.do 5.编写Springmvc.xml配置文件(配置Spring一些配置,开启注解扫描) 6.启动Tomcat,测试
2-2 SpringMVC入门程序的执行过程
1.服务器启动,应用被加载。读取到web.xml中的配置创建spring容器并且初始化容器中的对象。注意:从入门案例中可以看到的是:HelloController和InternalResourceViewResolver,但是远不止这些。2.浏览器发送请求,被DispatherServlet捕获,该Servlet并不处理请求,而是把请求转发出去。转发的路径是根据请求URL,匹配@RequestMapping中的内容。3.匹配到了后,执行对应方法。该方法有一个返回值。4.根据方法的返回值,借助InternalResourceViewResolver找到对应的结果视图。5.渲染结果视图,响应浏览器
。
2-3 SpringMVC入门程序中涉及的组件
SpringMVC框架是基于组件式开发1.DispatcherServlet:前端控制器用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。2.HandlerMapping:处理器映射器HandlerMapping负责根据用户请求找到Handler即处理器,SpringMVC提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。3.Handler:处理器它就是我们开发中要编写的具体业务控制器。由DispatcherServlet把用户请求转发到Handler。由Handler对具体的用户请求进行处理。4.HandlAdapter:处理器适配器通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。5.View Resolver:视图解析器View Resolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。6.View:视图SpringMVC框架提供了很多的View视图类型的支持,包括:jstlView、freemarkerView、pdfView等。我们最常用的视图就是jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。
2-4 mvc:annotation-driven说明
在SpringMVC的各个组件中,处理器映射器、处理器适配器、视图解析器称为SpringMVC的三大组件。使用自动加载RequestMappingHandlerMapping(处理映射器)和RequestMappingHandlerAdapter( 处 理 适 配 器 ),可 用 在SpringMVC.xml配 置 文 件 中 使 用替代注解处理器和适配器的配置。它就相当于在xml中配置了:注意:一般开发中,我们都需要写上此标签(虽然从入门案例中看,我们不写也行,随着课程的深入,该标签还有具体的使用场景)。明确:我们只需要编写处理具体业务的控制器以及视图。
2-5 RequestMapping注解
1.RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系2.RequestMapping注解可以作用在方法和类上1.作用在类上:第一级的访问目录2.作用在方法上:第二级的访问路径3.细节:路径可以不编写/表示应用的根目录开始3.RequestMapping的属性1.path 指定请求路径的URL2.value value属性和path属性是一样的3.method 指定该方法的请求方式4.param 指定限制请求参数的条件
3-1 请求参数的绑定
解决中文乱码characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 characterEncodingFilter * 日期变换方式一:@DateTimeFormat(pattern = "yyyy-MM-dd")private Date birthday;日期变换方式二:自定义类型装转器 //自定义类型转换器 把String转换成Datepublic class StringToDate implements Converter {//进行类型转换的方法@Overridepublic Date convert(String s) {if(s==null){throw new RuntimeException("请输入内容");}SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");try {return sdf.parse(s);} catch (ParseException e) {throw new RuntimeException(e);}}}
3-2 SpringMVC常用的注解
注解一:@RequestParam注解属性:required valuedefaultValue注解二:@RequestBody注解注解三:@PathVariable注解注解四:@RequestHeader注解注解五:@CookieValue注解
ps:另外附上资源 https://blog.csdn.net/weixin_44040023/article/details/103376121
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
