SpringMVC:RestFul和控制器(2)

简介: SpringMVC:RestFul和控制器(2)

使用注解@Controller

@Controller注解类型用于声明Spring类的实例是一个控制器(在讲IOC时还提到了另外3个注解);


Spring可以使用扫描机制来找到应用程序中所有基于注解的控制器类,为了保证Spring能找到你的控制器,需要在配置文件中声明组件扫描。


<!-- 自动扫描指定的包,下面所有注解类交给IOC容器管理 -->
<context:component-scan base-package="com.T_Lyon.controller"/>


增加一个ControllerTest2类,使用注解实现;

//@Controller注解的类会自动添加到Spring上下文中
@Controller
public class ControllerTest2{
   //映射访问路径
   @RequestMapping("/t2")
   public String index(Model model){
       //Spring MVC会自动实例化一个Model对象用于向视图中传值
       model.addAttribute("msg", "ControllerTest2");
       //返回视图位置
       return "test";
  }
}


运行tomcat测试

1.png

可以发现,我们的两个请求都可以指向一个视图(test),但是页面结果的结果是不一样的,从这里可以看出视图是被复用的,而控制器与视图之间是弱偶合关系。


注解方式是平时使用的最多的方式!


RequestMapping

@RequestMapping


@RequestMapping注解用于映射url到控制器类或一个特定的处理程序方法。可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。


为了测试结论更加准确,我们可以加上一个项目名测试 myweb


只注解在方法上面


@Controller
public class TestController {
   @RequestMapping("/h1")
   public String test(){
       return "test";
  }
}

访问路径:http://localhost:8080 / 项目名 / h1


同时注解类与方法


@Controller
@RequestMapping("/admin")
public class TestController {
   @RequestMapping("/h1")
   public String test(){
       return "test";
  }
}

访问路径:http://localhost:8080 / 项目名/ admin /h1 , 需要先指定类的路径再指定方法的路径;


RestFul 风格

概念


Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。


功能


资源:互联网所有的事物都可以被抽象为资源


资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。


分别对应 添加、 删除、修改、查询。


传统方式操作资源 :通过不同的参数来实现不同的效果!方法单一,post 和 get


http://127.0.0.1/item/queryItem.action?id=1 查询,GET


http://127.0.0.1/item/saveItem.action 新增,POST


http://127.0.0.1/item/updateItem.action 更新,POST


http://127.0.0.1/item/deleteItem.action?id=1 删除,GET或POST


使用RESTful操作资源 :可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!


http://127.0.0.1/item/1 查询,GET


http://127.0.0.1/item 新增,POST


http://127.0.0.1/item 更新,PUT


http://127.0.0.1/item/1 删除,DELETE



相关文章
|
3月前
|
前端开发 JavaScript
[SpringMVC]restful风格
[SpringMVC]restful风格
38 1
[SpringMVC]restful风格
|
8月前
|
XML JSON 前端开发
SpringMVC进阶-异常拦截器文件上传和Restful风格(1)
SpringMVC进阶-异常拦截器文件上传和Restful风格(1)
31 0
|
6天前
|
XML JSON 数据库
SpringMVC RESTful
SpringMVC RESTful
13 0
|
3月前
|
XML JSON Java
基于springMVC的RESTful服务实现
  RESTful(RESTful Web Services)一种架构风格,表述性状态转移,它不是一个软件,也不是一个标准,而是一种思想,不依赖于任何通信协议,但是开发时要成功映射到某协议时也需要遵循其标准,但不包含对通信协议的更改
24 1
|
4月前
|
XML JSON 前端开发
SpringMVC之视图和RESTful
【1月更文挑战第19天】 一、SpringMVC的视图 1、ThymeleafView 2、转发视图 3、重定向视图 4、视图控制器view-controller 二、RESTful 1、RESTful简介 a>资源 b>资源的表述 c>状态转移 2、RESTful的实现 3、HiddenHttpMethodFilter
60 0
|
4月前
|
XML JSON 数据库
SpringMVC之RESTful(含实际代码操作)
SpringMVC之RESTful(含实际代码操作)
|
5月前
|
XML JSON Java
SpringMVC原理分析 | Controller配置、RestFul风格
SpringMVC原理分析 | Controller配置、RestFul风格
31 0
|
5月前
|
XML JSON Java
SpringMVC与REST相结合实现RESTful风格
SpringMVC与REST相结合实现RESTful风格
73 0
|
8月前
|
SQL 前端开发 Java
【SpringMVC】RESTful风格CRUD实现
【SpringMVC】RESTful风格CRUD实现
38 0
|
8月前
|
设计模式 算法 前端开发
SpringMVC进阶-异常拦截器文件上传和Restful风格(2)
SpringMVC进阶-异常拦截器文件上传和Restful风格(2)
66 0