Servlet
Servlet:
- 是一个java类
- 服务器端的小程序
- 通过http接受和响应web客户端的请求
Servlet做的事情:
- 接收请求
- 获取请求数据
- 调用业务处理—将处理结果封装到req/session/context
- 响应结果
Servlet的实现:
- 实现Servlet接口
- 继承GenericServlet类
- 继承HttpServlet类
编写servlet:
- 通过继承父类或者实现接口创建servlet类
- 在web.xml中部署servlet
- 示例代码
<!-- servlet的配置
包括2部分:
servlet
servlet-mapping
-->
<servlet>
<!-- servlet-name可以自定义,但是要唯一 -->
<servlet-name>helloservlet</servlet-name>
<!-- servlet-class配置servlet完全限定名(包名 + 类名)
检查是否写错的方法:按住command能够点击连接到文件
-->
<servlet-class>web.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 和servlet标签中的servlet-name要一致 -->
<servlet-name>helloservlet</servlet-name>
<!-- 也可以叫servlet-name:这个名称是访问名称 ->(请求的路径) -->
<url-pattern>/hello</url-pattern>
</servlet-mapping> // 多个mapping模块可以为同一个类配置不同路径
1.servlet-name: 配置人员命名,用于配置(建议和类名一样,用大小写区别)
2.servlet-class: 后端开发人员命名的类名
3.url-pattern: 前段人员使用,用作访问链接(一定要有’/’)
Tomcat结构
- Tomcat:
- 包含container:其中有context元素,而context元素代表一个web应用;
- 包含web服务器:其中有web.xml文件,通过解析web.xml文件,来部署应用;
Servlet的执行流程:
1.浏览器向服务器发送请求
2.请求到达tomcat服务器:
2.1由web服务器接收
2.2根据web.xml文件中的配置信息,查找请求的资源(servlet)是否存在:不存在,则返回错误(404)
2.3找到资源后,检查Servlet对象是否存在:不存在,则创建该对象(无法创建对象,例如:类名错误时,返回错误:500);存在,则执行对应的处理操作
2.4处理方法执行后,将结果返回给web服务器;
3.web服务器根据结果进行相关处理后,返回给浏览器
4.浏览器显示相应的结果简略图示