Servlet
Servlet使用来接受、处理、反馈用户请求的
类似于SpringBoot中的 Controller
虽然,现在写 SSM,SpringBoot,SpringCloud,都看不到Servlet了,但是 SpringMVC的底层,就是封装了Servlet,所以,如果想了解SpringMVC的作用原理,那对Servlet的学习,是必不可少的!
这里提个醒,要想学号Servlet,一定要对http协议,有一个比较深入的了解,推荐去看《图解http》,就是一本小册子,几个小时就能看完。Servlet中的很多操作,都是对 http 的封装,如果对 http 不了解的话,那学起来,会感到云里雾里的!(第一次学习)
Maven依赖
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
使用
1. 继承 HttpServlet
public class HelloServlet extends HttpServlet
2. 重写 doGet 和 doPost方法
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
3. 在Web.xml中,写访问地址和Servlet的映射
当前端访问到我们定义的URL后,后端会使用反射的形式,创建Servlet对象,从而让我们能够使用Servlet
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>top.faroz.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
4. 测试
- 我们写一个前端页面,执行get 和 post
要注意,前端的访问路径,不能加 /