controller和restcontroller有什么区别

Z, ZLW 1896

controller和restcontroller有作用上的区别:在controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面;而restcontroller类中的所有方法,不能跳转到模版页面。restcontroller相当于controller和responseBod两者合并起来的作用。

1、controller

controller就是控制器。它是玩家在游戏中的一个代理对象,也是玩家与游戏中人物或者AI之间的交互的桥梁。它的任务就是掌管人物或AI的所有行为。可以说Controller将人物和AI玩弄于股掌之间。

Controller是派生自Actor,所以它理所当然具有Actor的基本属性Tansform,这使得Controller具有存在于游戏Level中的能力;具有序列化功能,这在根类UObject中有实现;具有网络复制功能,赋予了它在联机游戏中可以网络复制到服务器。

2、restcontroller

RestController注解,代表返回的是json格式的数据,这个注解是Spring4之后新加的注解,原来返回json格式的数据需要ResponseBody配合Controller一起使用;

如果我们在项目中使用的是Conrtroller注解的话,不加Response注解,则当直接返回一个字符串的时候,就好比返回的是一个模板页面,类似我们返回一个jsp页面一样。所以我们需要加上模板引擎(这种返回html一类的模板的开发方式现在一般不会再用了,因为现在都是前后端分离式的开发,后台服务器一般只需要返回json格式的数据即可,所以了解即可)。

3、controller和restcontroller的区别

标识一个Spring类是Spring MVC controller处理器;restcontroller是controller和responseBody的结合体,两个标注合并起来的作用。controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加ResponseBody注解,也可以返回实体对象。但RestController类中的所有方法,只能返回String、Object、Json等实体对象,不能跳转到模版页面。

用controller配合视图解析器才能返回到指定页面。在对应的方法上加上ResponseBody注解才能返回JSON,XML或自定义mediaType的内容到页面。不可以只用restcontroller注解controller,因为这样会让Controller中的内容不能返回jsp页面,而且会直接返回Return里的内容。因此,restcontroller相当于controller和responseBod两者合并起来的作用。

延伸阅读

java中的controller编写规范

java后端分层一般分为三层:dao(持久层)、service(业务层)和controller(控制层)。控制层负责接收参数,调用相关业务层,封装数据,以及路由到jsp页面。然后jsp页面上使用各种标签(jstl/el)或者手写java(<%=%>)将后台的数据展现出来。

所有的controller文件都必须放在app/controller 目录下,可以支持多级目录,访问的时候可以通过目录名级联访问。controller支持多种形式进行编写,可以根据不同的项目场景和开发习惯来选择。

controller的编写规范如下:

1、Controller层处理请求,接受和校验数据;

2、Service层接受controller传来的数据,进行业务处理;

3、Controller接受Service层处理完的数据,封装页面指定的vo对象。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部