当前位置:网站首页 > Java基础 > 正文

Java基础应用心得



前言:   

前一段时间学习了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配置文件。

版权声明


相关文章:

  • java基础247讲解2024-10-22 08:02:06
  • 尚硅谷java基础试题2024-10-22 08:02:06
  • java三大平台的基础平台2024-10-22 08:02:06
  • 础深入解析java基础2024-10-22 08:02:06
  • java语法基础129讲解2024-10-22 08:02:06
  • c 基础 java入门视频教程2024-10-22 08:02:06
  • java基础写的小程序2024-10-22 08:02:06
  • java三层架构基础2024-10-22 08:02:06
  • java做游戏零基础2024-10-22 08:02:06
  • java大学基础教程电子版2024-10-22 08:02:06