一、Http服务器调用JSP文件步骤
- Tomcat根据JSP规范,将被访问的JSP文件编辑为一个Java文件。这个Java文件是Servlet接口实现类
- Tomcat根据JSP规范,调用JVM将这个java文件[编译]为class类型
- Tomcat根据JSP规范负责生成这个class文件的实例对象。这个实例对象是一个Servelt接口实例对象
- Tomcat根据JSP规范通过实例对象调用class文件中_jspService方法
- Service方法在运行时负责将JSP文件中书写内容写入到响应体中
注:
C:\Users\[登录windows系统用户角色名]\.IntelliJIdea2018.3\system\tomcat\[网站工作间]\work\Catalina\localhost\【网站别名】\org\apache\jsp
作用:
- 当一个JSP文件被访问时,Tomcat调用的并不是当前JSP文件。而是JSP文件对应的Servlet接口实现类中_jspService方法。
- _jspService方法负责将开发人员在JSP文件书写的所有内容写入到响应体中。
内部结构:
- 判断当前请求方式。Jsp文件可以接收的请求方式有POST,GET,HEAD
- 声明局部变量。这些局部变量都可以在JSP文件开发时直接使用
- 输出部分。这部分执行时将JSP文件内容通过输出流写入到响应体
二、如何将Servlet中doGet/doPost方法执行结果交给JSP文件输出
- JSP文件被访问时,并不是JSP文件在执行。而是对应的Servlet在执行
- 自定义Serlvet接口实现类与JSP文件之间调用关系,等同于两个Servlet之间调用关系
- 自定义Servelt接口实现类与JSP文件之间可以通过重定向方案或则请求转发方案进行。调用考虑到运行效率问题,一般采用请求转发的方式
- 自定义Servlet接口实现类可以通过请求作用域对象将共享数据交给JSP来输出到响应体
|