Java基础应用心得

Java基础应用心得前言 前一段时间学习了 SpringMVC 但是由于本人学习缺少耐心和独立思考 所以当时学习 SpringMVC 时 只是照搬框架而已 对 SpingMVC 的工作原理和流程对不是很了解 导致后来的学习时总是觉得思路不是很通顺 对学习事倍功半 所以今天特别总结了一下 SPringMVC 的工作原理流程 希望对自己的今后学习有些帮助 正文 1 SpringMVC 是基于 Sping 的一个 Web 框架

大家好,我是讯享网,很高兴认识大家。



前言:   

前一段时间学习了SpringMVC,但是由于本人学习缺少耐心和独立思考,所以当时学习SpringMVC时,只是照搬框架而已,对SpingMVC的工作原理和流程对不是很了解,导致后来的学习时总是觉得思路不是很通顺,对学习事倍功半,所以今天特别总结了一下SPringMVC的工作原理流程,希望对自己的今后学习有些帮助。

正文:

1.SpringMVC是基于Sping的一个Web框架,具有Spring容器IOC(反转控制)和AOP(切面编程)的优点,总之SpringMVC具有Spring的所有优点

2.SpringMVC是围绕 DispatcherServlet编写的,它处理所有的HTTP请求和响应,

spring开发实训报告心得体会_MVC

DispatcherServlet对请求的处理顺序:

(1)在接收到HTTP请求后,DispatcherServlet会调用相应的Controller

(2)Controller根据请求的方法(GET/POST)调用相应的服务方法,最后返回视图名称给DispatcherServlet

(3)DispatcherServlet调用ViewResolver解析视图名称,

(4)DispatcherServlet将模型数据传给视图,并将视图呈现在浏览器。

2.必须的配置

2.1 web.xml示例:

  重点:

web.xml配置在web应用程序的web/WEB-INF 目录下,在DispatcherServlet初始化时,框架默认从web/WEB-INF目录下查找[servlet-name]-servlet.xml文件加载应用程序上下文。

如果不想使用默认的[servlet-name]-servlet.xml文件名和默认的位置web/WEB-INF ,可以通过在web.xml中添加servlet监听器ContextLoaderListener定义文件名和文件位置

示例:

讯享网

注:Spring应用程序ContextLoaderListener将读取其他XML配置文件加载应用程序上下文。

2.2 [servlet-name]-servlet.xml 示例:

 

[servlet-name]-servlet.xml 说明

(1)[servlet-name]-servlet.xml 主要作用:创建定义好的java bean

(2)<context:component-scan base-package =... /> :启动SpingMVC注释扫描功能,生成对应的java bean示例对象

(3)InternalResourceViewResolver:视图解析器

3. SpringMVC工作流程

spring开发实训报告心得体会_xml_02

4.控制器和方法

(1)"redircet:" 控制器的重定向:使用前缀“redirect:”,该方法返回字符串,重定向到其他视图

(2)@RequestParam 将请求参数绑定到控制器方法参数 示例:@RequestParam(value=“name”,defaultValue=“user”)String name

(3)@PathVariable 将方法参数绑定到一个URI模板变量的值

示例:

讯享网

在这里顺便把URL,URI,ContextPath理一下:

URL:http://localhost:8080/HelloSpringMVC/web/fe/default/en/document/8108/spring-mvc-for-beginners

URI:/web/fe/default/en/document/8108/spring-mvc-for-beginners

ContextPath:/HelloSpringMVC

5.@RequestBody 和 @ResponseBody

(1) @RequsetBody 注解:读取requset请求body的数据,解析后将返回的对象绑定到controller方法的参数

(2)@ResponseBody注解:将controller方法的返回对象写到Response对象的body 使用时机:当返回数据不是html标签的页面,而是其他格式的数据时(json,xml)。

6.SpringMVC请求参数获取的方式

详见下一章

7.<context:component-scan /> 和 <mvc:annotation-driven /> 区别:

之前在配置[servlet-name]-servlet.xml 文件时,总是搞不清楚两者的区别,只是照抄,今天刚好来总结一下

区别:

(1)<context:component-scan Java基础应用心得 /> :启动SpringMVC注解扫描功能,将带有@Controller ,@Service 等注解类注册到Spring容器,应应用的是Spring IOC(反转控制)

(2)<mvc:annotatiion-driven/> : 主要功能是处理请求映射,决定哪个controller的哪个方法来处理当前请求。

8.appilcationContext.xml 和 [servlet-name]-servlet.xml 区别:

区别:

(1)applicationContext.xml 是Spring全局配置文件,控制Spring的功能特性,如:IOC ,AOP等,

(2)两个配置文件的位置和作用:

applicationContext.xml 是系统级别的配置,作用范围是应用程序上下文

[servket-name]-servlet.xml 是servlet级别的配置,作用范围是servlet上下文

(3)在web.xml的配置:

applicationContext.xml : 在<context-param /> <listener/>初始化

[servlet-name]-servlet.xml : 在DispatcherServlet初始化时初始化,默认位置在WEB-INF/ 目录下,默认文件名为[servlet-name]-servlet.xml,当没有自定义servlet配置文件位置,且默认目录也没有配置servlet配置文件时,服务器启动会报错。

注意:

因为servlet配置文件只负责请求的转发,返回结果的解析,以及静态资源文件的解析,所以除了视图的解析方式,静态资源文件的存放位置,Controller的初始化之外,其他的都不应该存在servlet配置文件。

小讯
上一篇 2024-12-26 22:59
下一篇 2025-01-02 13:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7859.html