架构小白到砖家-05-用户请求接收和处理-springmvc的使用方法

springboot工程已经创建好了,咱们的前期准备工作算是告一段落,下面将开始真正的进行单应用技术研究工作。咱们再回顾一下,web应用解决的第一个大问题,“处理用户业务请求接收问题”。springmvc是一个专门解决这个问题的框架,并且使用的URL的自动解析规则,不用维护像struts那样庞大的配置表,并且这样做还有一个好处,可以利用URL和http的技术实现RESFul风格的请求处理方式,让请求本身附带更多的信息。那么springmvc怎么使用呢?

由于咱们不用再创建最原始的servlet处理用户用户请求了,springmvc一般把接收请求的java类叫做controller,所以咱们先创建一个TestController的class。前面我们已经说过了整个web应用的对象都是通过spring进行了管理,spring的管理方式已经发展到使用注解的方式,那么咱们使用springmvc的方式,肯定也是通过注解的形式。下面就来看看常用的springmvc的注解有哪些?

首先要告诉spring咱们的controller需要被管理,需要使用@Controller。
然后还记得咱们说的URL规则就像写信的通信地址(xx省xx市xx区xx街道x-x-x门牌号)吗?那么咱们先要告诉springmvc这个controller的根地址(xx省xx市xx区xx街道),然后就是具体的门牌号(类的方法)来接收这个请求,使用@RequestMapping。我们接到了请求和处理以后,还需要回信,为了简单我们直接返回文字内容,使用@ResponseBody 。后面咱们学习了怎么回复带有丰富内容的信件,再进行补充。
在这里插入图片描述

已经创建好了处理请求的controller,咱们就可以按照编程界的惯例,说一句“hello world!”了。首先启动咱们的web程序,就是那个Application.java,直接使用java的运行方式,直接run就可以了。然后就可以打开浏览器给应用发请求了,使用URL为http://localhost:1000/test/hello,我们一会在来解释URL的规则。最后就可以看到访问这个地址,我们会得到应用返回的信息。
在这里插入图片描述

咱们还是简单解释下URL的规则,http表示通信协议,localhost表示咱们电脑的IP地址,1000是应用的端口号,test/hello就是咱们接收请求的一个具体地址。后面咱们在运维部署和安全的时候,再详细的研究网络相关技术。

web应用已经能够接收用户请求了,咱们就建立好了浏览器和应用的通信机制,但是又有新的问题,现在的请求非常简单,只能固定的请求信息和反馈信息,怎么才能传递动态的信息进行交流呢?比如咱们想告诉应用我的名字,该怎么传递信息呢?这个时候咱们需要在URL的基础上,添加信息参数,来传递一些动态数据。http协议已经提供了方法,就是在URL后面用【?】分割,然后通过key-value的方式添加参数,例如:http://localhost:1000/test/hello?name=Tom。那么应用端该怎么接受这个信息呢?springmvc可以自动将咱们controller的方法参数名称跟URL中参数名称相同的信息传递过来,所以中方法也需要添加一个name的参数。我们就把返回信息,改造成给name问好。
在这里插入图片描述
在这里插入图片描述

咱们能够在交流的时候传递信息了,下面我们来看一个springmvc非常酷的功能,前面已经提到了RESTFul风格,让http协议的URL传递更多的信息,那么我们能不能把传递的信息直接包含在URL里面呢?可以的,只需要稍微改下下咱们上面的方法就可以了。告诉springmvc怎么获取URL中的信息,我们需要方法的URL上指明那个信息需要处理,然后方法参数需要添加注解,表示这个参数需要获取URL参数。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jea_dong/article/details/86132086