JSP规范
1. JSP规范介绍
针对的问题是响应对象来反映最后的servlet处理结果,存在一些弊端,响应对象只适合将数据量较少的处理结果写入到响应体中,如果处理结果的数量过多,使用响应对象增加开发难度。
- 来自于JAVAEE规范中一种
- JSP规范制定了如何开发JSP文件代替响应对象将处理结果写入到响应体的开发流程
- JSP规范制定了Http服务器应该如何调用管理JSP文件
JSP的全部名称就是Java Server Pages 叫做java服务器页面,用于动态web的设计
JSP页面可以嵌入JAVA代码,为用户提供动态数据
2. JSP文件输出对象的优势
- JSP文件在互联网通信过程,是响应对象替代品.
- 降低将处理结果写入到响应体的开发工作量降低处理结果维护难度
- 在JSP文件开发时,可以直接将处理结果写入到JSP文件不需要手写out.print命令,在Http服务器调用JSP文件时,根据JSP规范要求自动的将JSP文件书写的所有内容通过输出流写入到响应体
3. JSP文件与HTML文件
再web资源文件中分为静态资源和动态资源,其中html文件就属于静态资源,而Jsp文件属于动态资源文件,浏览器要访问HTML文件,此时Http服务器是通过一个输出流来将文件中的所有内容写入到响应体中,如果浏览器要访问jsp文件,则要根据JSP规范来操作
4. JSP原理
第一点:浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!
Jsp最终也会被转换成为一个java类
JSP文件继承了HttpJspBase类,这个类又继承了HttpServlet接口,所以Jsp文件本身就是一个servlet,在源码中又提供了一些jsp 的方法,(jspinit、jspDestory、jspService)
在源码中还内置了一些对象:(九大对象,这些对象在jsp文件中可以直接用,jsp中的可以放入java代码,在Java代码中可以直接用这些对象)
只要是java代码就会原封不动的输出,如果是一些html代码就会用别的一些方式给转换出来,一步一步给输出的
流程描述:
1.Tomcat根据JSP规范,将被访问的JSP文件编译为一个java文件(该文件就是一个Servlet接口实现类)
2.Tomcat根据JSP规范,调用JVM(javac one_jsp.java)将这个java文件[编译]为class类型
3.Tomcat根据JSP规范负责生成这个class文件的实例对象。这个实例对象是一个Servelt接口实例对象
4.Tomcat根据JSP规范通过实例对象调用class文件中_jspService方法,_jspService方法在运行时负责将JSP文件中书写内容写入到响应体中
5. JSP原理的语法和指令
在传统的HTML页面文件中嵌入脚本语言和JSP标签就构成了一个JSP页面文件
最基本的几类用法:
<%%>
<%=%>
<%!%>
<%–注释–%>
后面如果需要开发jsp文件需要按照相应的语法来写文件,Jsp本质上是一种servlet,在MVC分层中,jsp属于View层,jsp更多的作用是为了数据的展示和页面的显示,渐渐不用于逻辑的处理,所以综合起来虽然是后端的技术,但它的应用上更贴近前端。