Restful
1、入门
1.1 简介
RESTFul是什么
RESTFul是WEB服务接口的一种设计风格。
RESTFul定义了一组约束条件和规范,可以让WEB服务接口更加简洁、易于理解、易于扩展、安全可靠。
1.2 实例
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--字符编码过滤器--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceRequestEncoding</param-name><param-value>true</param-value></init-param><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--隐藏的HTTP请求方式过滤器--><filter><filter-name>hiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>hiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><servlet-name>Springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><!-- 初始化参数时 可以指定springmvc配置文件的位置 以及名称--><!-- 其默认是存放在WEB-INF 下 名称默认是<servlet-name>-servlet.xml--><param-name>contextConfigLocation</param-name><!-- 表示在根路径下 即放在resources目录下 名称是 springmvc.xml--><param-value>classpath:springmvc.xml</param-value></init-param><!-- 这是一个优化策略 表示在服务器启动时就初始化DispatcherServlet 而不是在用户第一次请求时 可以增加用户体验--><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>Springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>
springmvc.xml
<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><context:component-scanbase-package="com.cky"></context:component-scan><!--视图解析器--><beanid="thymeleafViewResolver"class="org.thymeleaf.spring6.view.ThymeleafViewResolver"><!--作用于视图渲染的过程中,可以设置视图渲染后输出时采用的编码字符集--><propertyname="characterEncoding"value="UTF-8"/><!--如果配置多个视图解析器,它来决定优先使用哪个视图解析器,它的值越小优先级越高--><propertyname="order"value="1"/><!--当 ThymeleafViewResolver 渲染模板时,会使用该模板引擎来解析、编译和渲染模板--><propertyname="templateEngine"><beanclass="org.thymeleaf.spring6.SpringTemplateEngine"><!--用于指定 Thymeleaf 模板引擎使用的模板解析器。模板解析器负责根据模板位置、模板资源名称、文件编码等信息,加载模板并对其进行解析--><propertyname="templateResolver"><beanclass="org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver"><!--设置模板文件的位置(前缀)--><propertyname="prefix"value="/WEB-INF/templates/"/><!--设置模板文件后缀(后缀),Thymeleaf文件扩展名不一定是html,也可以是其他,例如txt,大部分都是html--><propertyname="suffix"value=".html"/><!--设置模板类型,例如:HTML,TEXT,JAVASCRIPT,CSS等--><propertyname="templateMode"value="HTML"/><!--用于模板文件在读取和解析过程中采用的编码字符集--><propertyname="characterEncoding"value="UTF-8"/></bean></property></bean></property></bean><!--配置视图控制器--><mvc:view-controllerpath="/c"view-name="c"/><!--开启注解驱动--><mvc:annotation-driven></mvc:annotation-driven><!--静态资源访问配置--><mvc:resourcesmapping="/static/**"location="/static/"/><!-- 或者 <mvc:default-servlet-handler></mvc:default-servlet-handler>--></beans>
项目目录
Mycontroller.java
packagecom.cky.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;@ControllerpublicclassMycontroller{@RequestMapping(value ="/users",method =RequestMethod.GET)publicStringa(){System.out.println("查询所有");return"ok";}@RequestMapping("/")publicStringindex(){return"index";}@RequestMapping(value ="/users/{id}",method =RequestMethod.GET)publicStringgetone(@PathVariable("id")int id){System.out.println("查询1号");return"ok";}@RequestMapping(value ="/users/{id}",method =RequestMethod.POST)publicStringaddusers(@PathVariable("id")int id){System.out.println("新增用户");return"ok";}@RequestMapping(value ="/users/{id}",method =RequestMethod.PUT)publicStringmodify(@PathVariable("id")int id){System.out.println("修改用户");return"ok";}@RequestMapping(value ="/users/{id}",method =RequestMethod.DELETE)publicStringdelete(@PathVariable("id")int id){System.out.println("删除用户");return"ok";}}
index.html
<!DOCTYPEhtml><htmllang="en"xmlns:th="http://www.thymeleaf.org"><head><metacharset="UTF-8"><title>restful</title></head><body><!--默认get--><ath:href="@{/users}">查询所有</a><ath:href="@{/users/1}">查询1号</a><!--新增--><formth:action="@{/users/100}"method="post"><inputtype="text"placeholder="用户名"><inputtype="submit"value="提交"></form><!--修改--><formth:action="@{/users/100}"method="post"><inputtype="hidden"name="_method"value="put"><inputtype="text"placeholder="用户名"><inputtype="submit"value="修改"></form><ath:href="@{/users/1}"onclick="del(event)">删除1号用户</a><formid="delForm"method="post"><inputtype="hidden"name="_method"value="delete"></form><script>functiondel(event){//获取表单let delForm=document.getElementById("delForm");//给表单赋值
delForm.action=event.target.href;//发送post请求
delForm.submit();//阻止超链接默认行为
event.preventDefault();}</script></body></html>
本文转载自: https://blog.csdn.net/qq_45906101/article/details/139107322
版权归原作者 爱吃肉c 所有, 如有侵权,请联系我们删除。
版权归原作者 爱吃肉c 所有, 如有侵权,请联系我们删除。