controller是什么意思
controller有两种意思:1.controller是指控制层,主要处理外部请求,是web工程结构的一部分。2.controller是指控制器,controller负责处理分发的请求,它把用户请求的数据经过业务处理层处理之后封装成Model,然后再把该Model 返回给对应的View 进行展示。
1.controller指控制层
一般来说,我们的web工程结构会分为三层,自下而上是dao层,service层和controller层。
controller层为控制层,主要处理外部请求。调用service层,将service层返回的BO/DO转化为DTO/VO并封装成统一返回对象返回给调用方。如果返回数据用于前端模版渲染则返回VO,否则一般返回DTO。不论是DTO还是VO,一般都会对BO/DO中的数据进行一些转化和整合,比如将gender属性中的0转化“男”,1转化为“女”等。
关于controller层的设计,首先明确一点,除了极少数不复用的简单处理,controller层不应该包含业务逻辑,controller的功能应该有以下五点:
1、参数校验
2、调用service层接口实现业务逻辑
3、转换业务/数据对象
4、组装返回对象
5、异常处理
2.controller是指控制器
在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。