org.springframework.stereotype.Controller注解类型用于指示Spring类的实例是一个控制器。
@Controller注解
Spring使用描述机制来找到应用程序中所有基于注解的控制器类。为保证Spring能找到控制器:
1、SpringMVC配置文件中:
<beans
...
xmlns:context="http://www.springframework.org/schema/context"
...
</beans>
2、<context:comonent-xcan/>中指定控制器类的基本包。
<context:component-scan base-package="com.lxx.Controller"/>org.springframework.web.bind.annotation.RequestMapping
@RequestMapping注解类型映射的URI与方法。
映射一个请求和方法(也可注解控制器类)。@RequestMapping注解的方法将成为一个请求处理方法。注解的value属性将URI映射到方法。
可在请求处理方法中出现的参数类型:
1、 javax.servlet.ServletRequest或 javax.servlet.http.HttpServletRequest
2、 javax.servlet.ServletResponse或 javax.servlet.http.HttpServletResponse
3、 javax.servlet.http.HttpServletSession
4、 org.springframework.web.context.request.WebRequest或org.springframework.web.context.request.NativeWebRequest
5、 java.util.Local
6、 java.io.InputStream或java.io.Reader
7、 java.io.OutputStream或java.io.Writer
8、 java.security.Principal
9、 HttpEntity<?>
10、java.util.Map/org.springframework.ui.Model
11、org.springframework.ui.ModelMap
12、org.springframework.web.servlet.mvc.support.RedirectAttributes
13、org.springframework.validation.Errors
14、org.springframework.validation.BindingResult
org.springframework.ui.Model,不是一个Servlet API类型,而是一包含Map的SpringMVC类型。每次调用请求处理方法时,SpringMVC都创建Model对象并将其Map注入到各种对象。
- 请求处理方法可返回的类型对象:
1、ModelAndView
2、Model
3、Map包含模型的属性
4、View
5、代表逻辑视图名的String
6、void
7、Callable
8、DeferredResult
9、提供对Servlet的访问,以响应HTTP头部和内容HttpEntry或ResponseEntity对象
10、其他任意类型,Spring将其视作输出给View的对象模型。