望京网站开发,三个字公司名字,夏津建设局网站,做汽车售后的网站目录 请求映射路径的配置
请求数据的接收
接收Restful风格的数据
什么是Restful风格#xff1f; 接收上传文件
获取headers头信息和cookie信息
JavaWeb常用对象获取
请求静态资源
注解驱动标签 请求映射路径的配置
请求映射路径的配置主要是通过RequestMapping注解实现…目录 请求映射路径的配置
请求数据的接收
接收Restful风格的数据
什么是Restful风格 接收上传文件
获取headers头信息和cookie信息
JavaWeb常用对象获取
请求静态资源
注解驱动标签 请求映射路径的配置
请求映射路径的配置主要是通过RequestMapping注解实现的 相关注解作用使用位置RequestMapping设置控制器方法访问路径的资源可以接收任何请求方法和类上GetMapping设置控制器方法访问路径的资源可接收GET请求方法和类上PostMapping设置控制器方法访问路径的资源可接收Post请求方法和类上 请求数据的接收
参数的接收在JavaWeb后端SpringBoot专栏已经进行了学习此处就不再赘述。感兴趣可以去我主页对应专栏进行阅读。主页传送门内容管理-CSDN创作中心 接收Restful风格的数据 什么是Restful风格 Rest表象化状态转变/表述性状态转变在2000年被提出基于HTTPURIxmlJSON等标准和协议支持轻量级、跨平台、跨语言架构设计。是Web服务的一种新网络应用程序的设计风格和开发方式。 常用规则 用URI表示某个模块资源资源名称为名词 模块 URI资源 用户模块userhttp://localhost/user商品模块producthttp://localhost/product账户模块accounthttp://localhost/account日志模块loghttp://localhost/log用HTTP响应状态码表示结果国内常用的响应包括三部分状态码、状态信息、响应数据 Restful风格参数是通过路径参数进行传递的具体可以参照文章请求响应-路径参数的接收_保持敬畏的博客-CSDN博客 接收上传文件 接收上传文件的数据文件上传的表单有一定的要求如下 表单的提交方式必须是POST表单的enctype属性必须是multipart/form-data文件上传需要name属性 具体可以参照文章SpringBoot案例-文件上传_保持敬畏的博客-CSDN博客 虽然使用了不同的框架但是对于原理介绍是一样的。 获取headers头信息和cookie信息 接收Http请求头数据接受指定名称的数据头 package com.example.Controller;import com.example.Service.Service01;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.Map;Controller
public class Controller01 {Autowiredprivate Service01 service01;RequestMapping(/show)// 获取指定请求头信息public String show(RequestHeader(Accept-Encoding) String requestHeader) {System.out.println(requestHeader);return /index.jsp;}RequestMapping(/show1)// 获取所有请求头信息public String show1(RequestHeader MapString, String requestHeader) {requestHeader.forEach((k, v) - {System.out.println(k v);});return /index.jsp;}
}启动web服务器后就可以请求对应的路径请求show路径终端输出请求show1终端输出获取客户端携带的Cookie数据关键代码如下 package com.example.Controller;import com.example.Service.Service01;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;Controller
public class Controller01 {Autowiredprivate Service01 service01;RequestMapping(/show)// 获取Cookie信息public String show(CookieValue(value JSESSIONID, defaultValue ) String requestHeader) {System.out.println(requestHeader);return /index.jsp;}}JavaWeb常用对象获取
JavaWeb常用对象就是HttpServletRequest request和HttpServletResponse response方法中要调用上述参数直接在方法的形参位置写入即可SpringMVC框架在接收到请求后就会主动的将参数注入具体代码如下 运行结果如下 请求静态资源
在web服务器内部默认配置了一个defaul的tServlet其匹配路径为“/”该Servlet具备访问服务器中静态资源的能力但是当我们自己配置一个DispatcherServlet时如果设置的访问路径也是“/”那么就会对其进行覆盖就无法访问到服务器中的静态资源。上述是为什么不能访问到静态资源的原理解决方法一spring的方式将default的servlet的匹配路径更加精确一点servlet的url-pattern匹配优先级时精确匹配目录匹配拓展名匹配缺省匹配解决方法二SpringMVC框架中的方法在SpringMVC框架的配置文件中去设置静态资源的映射关系解决方法三SpringMVC框架中的方法在SpringMVC框架的配置文件中去注册一个DefaultServletHttpRequestHandler处理器静态资源由该处理器去处理该方法也是使用最多的。
注解驱动mvc:annotation-driven标签
存在的问题我们在上述解决方法三中使用的注解其底层代码的实现会相Spring容器中注入一个SimpleUrlHandlerMapping该类继承了HandlerMapping由此Spring就不会默认自动加载该RequestMappingHandlerMapping那么就会造成框架无法解析注解中的路径以及实现路径与资源的映射。要解决上述问题就需要人为的在SpringMVC框架中注册上述HandlerMapping由此可以完美解决上述问题 但是在Spring框架中可以将上述配置以及各种配置浓缩为一个简单的配置标签那就是mvc的注解驱动该标签内会帮我们注册RequestMappinghandlerMapping、注册RequsestingMappingHandlerAdapter并注入JSON消息转换器等上述配置就可以简化为一下配置 ps上述标签在不同版本的Spring框架中帮我们注册的组件不同。