1.Servlet的基本概念
Servlet是运行于服务器端的Java程序,它能够接受客户端发起的HTTP请求并动态地生成页面内容,它几乎已经完全和HTTP通讯协议绑定在一起使用,所以我们常用的术语Servlet—是“HTTP Servlet”的缩写。Servlet为处理HTTP请求提供了doGet(), doPost()等具体的响应方法。
Servlet会应用在如下场景中:
• 处理从浏览器页面中提交的HTML表单数据。
• 根据HTTP请求信息,动态生成HTTP响应内容。例如:根据HTTP请求数据从数据库中读取不同的内容并返回。
• 使用Cookie或URL重写技术在无状态的HTTP协议之上实现对客户端状态的管理。例如:用户系统(登录一次后可以访问站点下的所有页面而无需重复登录)、电商网站的购物车功能。
2.Spring DispatcherServlet简介
Spring为构建Web应用,处理HTTP请求提供了一个功能全面的MVC框架,主要通过DispatcherServlet(中央调度器)实现了Servlet。DispatcherServlet最上层也是继承的是HttpServlet这个类。在整个Spring WEB/MVC 框架中,DispatcherServlet 处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应。
在这里笔者不得不提到这两个注解@Controller & @RequestMapping
• @Controller
此注解用于标记在一个Java类上,Spring会通过配置信息扫描并实例化一个处理器,用于处理HTTP请求。
• @RequestMapping
此注解与@Controller注解配合使用,用于映射一个请求或一个方法。标记在方法上时,该方法将成为一个请求方法,会在接受到对应的URL时被调用。标记在类上时,该类种的所有方法都将映射为相对于类级别的请求,表示所有的请求都被映射到所指定的路径下。
如下: