spring mvc xml 注解(springmvc菜鸟教程)
- 前端设计
- 2023-08-13
- 318
大家好,今天小编来为大家解答以下的问题,关于spring mvc xml 注解,springmvc菜鸟教程这个很多人还不知道,现在让我们一起来看看吧!spring mv...
大家好,今天小编来为大家解答以下的问题,关于spring mvc xml 注解,springmvc菜鸟教程这个很多人还不知道,现在让我们一起来看看吧!
spring mvc request作用
1、@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。
2、通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然也可以将其分别绑定到对应的字符串上。
例如说以下情况:
$.ajax({
url:"/login",
type:"POST",
data:'{"userName":"admin","pwd","admin123"}',
content-type:"application/jsoncharset=utf-8",
success:function(data)
{
alert("requestsuccess!");
}
});
@requestMapping("/login")
publicvoidlogin(@requestBodyStringuserName,@requestBodyStringpwd){
System.out.println(userName+":"+pwd);
}
这种情况是将JSON字符串中的两个变量的值分别赋予了两个字符串,但是呢假如我有一个User类,拥有如下字段:StringuserName;Stringpwd;那么上述参数可以改为以下形式:@requestBodyUseruser这种形式会将JSON字符串中的值赋予user中对应的属性上需要注意的是,JSON字符串中的key必须对应user中的属性名,否则是请求不过去的。
3、在一些特殊情况@requestBody也可以用来处理content-type类型为application/x-www-form-urlcoded的内容,只不过这种方式不是很常用,在处理这类请求的时候,@requestBody会将处理结果放到一个MultiValueMap<String,String>中,这种情况一般在特殊情况下才会使用,例如jQueryeasyUI的datagrid请求数据的时候需要使用到这种方式、小型项目只创建一个POJO类的话也可以使用这种接受方式。
作用:
i)该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
ii)再把HttpMessageConverter返回的对象数据绑定到controller中方法的参数上。
cs架构与springboot框架的区别
区别是概念不同,结构模式不同
SpringBoot框架:是一个快速开发框架,通过用MAVEN依赖的继承方式,帮助我们快速整合第三方常用框架,完全采用注解化(使用注解方式启动SpringMVC),简化XML配置,内置HTTP服务器(Tomcat,Jetty),最终以Java应用程序进行执行。
cs架构,是一种分布式计算模型,其中客户端和服务器之间通过网络进行通信。在这种架构中,客户端负责向服务器发送请求,并接收服务器返回的响应。服务器则负责处理客户端的请求,并返回相应的结果。CS架构通常用于构建大型的网络应用程序,如Web应用程序、电子邮件系统、数据库管理系统等。
Spring MVC过时了吗
SpringMVC当然没有过时,目前很多企业的项目还都是基于SpringMVC构建的。
题主可能并没有真正理解SpringMVC的精髓。最早的时候,我们使用SpringMVC的时候可能是前后端耦合在一起的。通过Controller的ModelAndView返回一个jsp的页面。但是现在这种方式基本已经被淘汰。现在的SpringMVC框架都是以Rest风格编写Controller层,也就是我们Controller层不再是返回Jsp的页面,而是返回Json格式的数据。而前端可以选择任何目前市面上流行的框架,例如:React、vue、小程序、H5等。所以,SpringMVC跟前后端分离没有关系。如果说你还按照早期的ModeAndView开发,那你真的落伍了。
但是,随着微服务框架SpringBoot的出现以及大规模流行,SpringMVC的使用程度在降低,这主要是SpringMVC的配置太复杂。SpringMVC中有大量的xml文件需要编写,而且编写起来很复杂。当然这些xml文件编写是基本一次性的,只要第一次编写完成,后续的业务开发基本不用再改变。而SpringBoot基本完全抛弃了xml文件的配置,所有的配置都是框架本身集成好的,只需要按照特定的约定去做就好。当然在集成有些中间件的时候,我们只需要编写相应的Java代码即可,所以,SpringBoot的使用越来越广泛,企业的很多新项目都是基于SpringBoot去开发。
不管是SpringMVC还是SpringBoot,只要精通一种框架,剩下的框架自然而然的就懂了。框架本身就是为了减少程序员的工作而设计的,无需过多的纠结过不过时的问题,拿来即用是我们最终的目标。请教,如何springboot里动态读取配置文件
这个跟springmvc一样的啊,首先你看你的spring-mvc.xml有没有配置defaultViewResolver,
然后你在action的方法中如果1.标注了@ResponseBody,返回字符串的话是通过write输出到页面。2.没有标注这个,springmvc会到配置的目录下找相应的jsp。比如返回"hello",它就在webpage/目录下找hello.jsp。返回"user/login",它就会找webpage/user/login.jsp
springmvc的工作流程是什么
spring工作的流程
流程如下:
1、用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载springmvc.xml配置文件。
2、前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在springmvc.xml中配置的或者注解的url与对应的处理类找到并进行存储,用map<url,handler>这样的方式来存储。
3、HandlerMapping有了映射关系,并且找到url对应的处理器,HandlerMapping就会将其处理器(Handler)返回,在返回前,会加上很多拦截器。
4、DispatcherServlet拿到Handler后,找到HandlerAdapter(处理器适配器),通过它来访问处理器,并执行处理器。
5、执行处理器
6、处理器会返回一个ModelAndView对象给HandlerAdapter
7、通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)
8、前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp),其实就是将ModelAndView对象中存放视图的名称进行查找,找到对应的页面形成视图对象
9、返回视图对象到前端控制器。
10、视图渲染,就是将ModelAndView对象中的数据放到request域中,用来让页面加载数据的。
11、通过第8步,通过名称找到了对应的页面,通过第10步,request域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。
applicationContext.xml和SpringMVC的区别
applicationContext.xml是文件,是Spring的配置文件SpringMVC是web架构方式,包含了Spring
文章到此结束,如果本次分享的spring mvc xml 注解和springmvc菜鸟教程的问题解决了您的问题,那么我们由衷的感到高兴!
本文链接:http://xinin56.com/qianduan/540.html