一、Servlet规范:
- Sevlet是一种JAVAEE规范中的一种和JDBC一样。
- Servlet规范中设置JVM与HTTP服务器之间的交流规则。
- 交流规则:
1)定义何种Java类可以被Http服务器来调用(何种Java类可以作为动态资源文件)
2)Http服务器如何管理【动态资源文件】
二、何种Java类可以被Tomcat调用,可以作为网站的【动态共享文件】
- Servlet规范中,认为只有【Servlet接口实现类】有资格作为【动态规范资源文件】
- 【Servlet接口实现类】必须由开发人员负责创建。
三、如何开发一个Servlet接口实现类。
- 创建一个实现类,需要继承 HttpServlet接口
- HttpServlet存在Tomcat中lib/servlet-api.jar: javax.servlet.http.HttpServlet
- 根据来访的浏览器采用的请求方式,重写对应doGet或者doPost
- /WEB-INF/lib中web.xml注册Servlet接口实现类,通知Tomcat当前网站存在一个动态资源文件
四、Tomcat调用Servlet接口实现流程
- 浏览器向服务器发送一次请求
http://localhost:555/myWeb/first - Tomcat接受到这个请求,首先将请求的资源文件作为动态资源文件。到工程下面web.xml进行文件定位。如果没有找到,认为是静态资源,到Web下进行定位。如果有返回,如果没有找到返回404.
- Tomcat到web.xml根据url-pattern进行定位servlet-name
- servlet-name定位servlet-class找到本次请求调用servlet
- Tomcat根据浏览器采用的请求方式,调用Servlet中doGet或者doPost
- 在doGet或者doPost方法调用完毕后,Tomcat负责将相应包推送给浏览器
五、请求路径优先级
具体请求路径>前置条件>后置条件>通配符。
六、servlet开发时需要的五种工具对象。
- HttpServletResponse接口:负责将运行结果写入到响应包
- 1.1一个来自于Servlet规范中接口:由Tomcat负责提供这个接口实现类
- 1.2 负责在Serlvet运行完毕后,将相关的数据写入到响应头、响应体
-
HttpServletRequest接口:负责读取请求协议包信息
-
ServletContext接口:可以为当前网站中所有的Servlet提供共享数据
-
Cookie:在一次会话中,存储浏览器在服务端产生的私人数据
-
HttpSession接口:在一次会话过程中,存储浏览器在服务端产生的私人数据