SpringMVC数据开发软件教程
树图思维导图提供 SpringMVC思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 SpringMVC思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a86bd18c6c076aad0c7ed2911bcd6da6
SpringMVC-02思维导图思维导图模板大纲
1.1方式一:
视图控制器
用于通过配置的方式简化我们的 项目中不含业务逻辑的页面跳转 省去了我们写一个 空方法的步骤
方案一:在Controller中添加一个拦截/的handler方法
方法二:使用视图控制器
SpringMVC配置文件)配置中添加
1.2. 方式二
再web.xml中使用标签指定
通过浏览器的调式工具,发现上面示例的login.jsp页面中的index.css和index.js是获取不到的, 这个时候就需要设置静态资源处理 单体项目时,前端静态资源无法获取
在SpringMVC.xml文件中配置
<mvc:resources location="xxx" mapping="xxx"/>
location属性:本地资源路径,请求命中改配之后去哪里找该文件,必须是webapp根目录下的路径
mapping属性:指定映射路径,就是当用户访问什么地址时,会命中该文件
2.2. 方式二
<mvc:default-servlet-handler/>
<mvc:default-servlet-handler/> 会把 /** 的url注册到 SimpleUrlHandlerMapping 的 urlMap 中,把对静态资源的访问由 HandlerMapping 转到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 处理 并返回
DefaultServletHttpRequestHandler 就是内部实现就是调用各个 Servlet 容器自己默认的 Servlet处理请求。
之前: 在Servlet实现重定向和转发
重定向
重定向:response.sendRedirect("xxx");
请求转发
转发: request.getRequestDispatcher("xxx").forward(request, response);
方式一:
在Handler方法中直接返回逻辑视图名称,默认请求转发
@RequestMapping("/forward1") public String forward(){ System.out.println("请求转发方式一"); return "index1";//默认就是请求转发 }
这种方式时最常见的一种,返回需要配合视图解析器一起使用
方式二:
在Handler方法中返回"forward:路径"
方式三:
重定向
方式一:
方式二:
以前的请求路径写法:http://localhost/user/quick17?id=1&name=zhangsan
RestFul风格请求路径写法:http://localhost/user/quick17/1/zhangsan
Restful是一种软件架构风格,设计风格,而不是标准,只是提供了一一组设计原则,和约束条件 主要用于客户端可服务器交互类的软件,基于这个风格设计的软件可以更加简洁,更有层次,更易于实现缓存机制等
ResstFul风格:使用 请求方式 +url 表示一次请求,不同的请求方式代表不同的作用
常用RESTFull注解
@RestController
@RestController = @Controller + @ResponseBody 两个注解相加
方法的返回值不会在经过视图解析器 返回对应的页面,而是会作为 响应体 经过消息转换器直接响应 到客户端
@RequestMapping
@GetMapping :
@PostMapping
@PutMapping
@DeleteMapping
消息转换器是什么
当我们使用了RestController方法的返回值已经不会被作为视图去渲染了,这时候我们的 方法其实可以返回任意类型的数据。这些数据会直接通过响应体以流的方式返回给客户端
比如我们的handler方法返 回了一个User类型,SpringMVC就不知道如何将这个类型返回给客户端了。这时就需要我们通过 配置消息转换器来完成这种类型对象的返回处理。 而在RESTFull服务中,对象绝大部分传递方式 就是通过JSON格式。
将Controller方法中返回的 将JavaBean对象 序列化,并响应到客户端(输 出 ,需要用到@ResponseBody注解 将对象转化为json返回给客户端
将前端传过来的JSON字符串封装到Controller方法的JavaBean参数类型上(输入,需要用到@RequestBody注解) (将客户端传递的json转化为对象)
消息转换器的两个作用’
如何配置一个转换JSON格式的消息转换器
eg例子:
通过SpringMVC给我们提供的一个过滤器,我们可以用表单模拟各种RESTFull的请求,使用方法 如下:
. 在web.xml中添加过滤器
在webapp下编写resultFul.jsp测试
RestTemplate工具类(了解)
SpringMVC是帮我们封装的一个Rest请求工具,可以使用一个UR地址发起网络请求, 并且将结果封装成一个指定的对象
RestTemplate可以直接调用指定方法发起REST中常用的POST、GET、DELETE、PUT请求
在SpringMVC中配置restTemplate
Controller中
SpringMVC给我们提供了一个专门用来解决post请求乱码的过滤器,我们只需要将其配置到web.xml中就可以避免post请求乱码,免去了我们自己写过滤器的麻烦
如果项目中配置了多个过滤器,建议将此过滤器放到所有过滤器的最上面
树图思维导图提供 SpringMVC编程思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 SpringMVC编程思维脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:cc6f10d07092674e8174e4ffdb3ae4e0
树图思维导图提供 SpringMVC的工作流程 在线思维导图免费制作,点击“编辑”按钮,可对 SpringMVC的工作流程 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:806936080dcb996aef66a41b86769fc6