首先Tomcat,Servlet,JSP之间是什么关系?
JAVA EE即Java Web标准
Tomcat是Servlet的容器,Servlet运行在Tomcat容器当中(如docker镜像运行在docker容器当中)
Servlet容器有很多(tomcat,Jboss,weblogic)等
JSP是动态网页技术,出现在Servlet技术之后的,JSP技术是为了解决Servlet的开发效率低下,不方便开发人员开发,其本质还是Servlet
Tomcat根据JSP页面生成对应Servlet的Java文件及class文件
JSP和Servlet会有如下转换:
- JSP页面的静态内容、JSP脚本都会转换成Servlet的xxxService()方法,类似于自行创建Servlet时service()方法。
- JSP声明部分,转换成Servlet的成员部分。所有JSP声明部分可以使用private,protected,public,static等修饰符,其他地方则不行。
- JSP的输出表达式(<%= ..%>部分),输出表达式会转换成Servlet的xxxService()方法里的输出语句。
- 九个内置对象要么是xxxService()方法的形参,要么是该方法的局部变量,所以九个内置对象只能在JSP脚本和输出表达式中使用。// 不能在jsp Declaration中使用