更新时间:2020-10-21 18:03:03 来源:极悦 浏览1555次
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。本文我们就来为大家介绍这门Java Web核心技术-JSP。
在 Servlet 组成的 MVC 中模型中,JSP 就代表着 View ,JSP控制着视图显示,一切逻辑在 Servlet(Controller) 和Model 中解决完毕后,转发到 JSP 中生成视图文件(HTML),大家也都知道在 Java 中写 HTML 代码是很麻烦的,因为有很多转义字符需要转义,所以人们想不如在 HTML 中写 Java 算了,于是就诞生了JSP。
JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP作为JavaWeb核心技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。
Jsp实际上可以看成是一种特殊的Servlet:
当jsp页面第一次被访问时,服务器会把jsp编译成java文件(这个java其实是一个Servlet类);
然后再把java编译成.class;
然后创建该类对象;
最后调用它的service()方法;
第二次请求同一jsp时,直接调用service()方法。
在Tomcat的work目录下可以找到jsp对应的.java源代码。
1、IE浏览器在访问JSP页面时,Web服务器是如何调用并执行一个jsp页面的?(Servlet)
第一次:转译(翻译) --> 编译 --> 执行
第二次:执行
2、Web服务器在执行jsp页面时,是如何把Jsp页面中的html排版标签发送到客户端的?
out.print("<......>"); 或者 out.write("<......>");
3、Jsp页面中的java代码服务器是如何执行的?
服务器 --> .java文件 --> .class文件 --> 结果out回客户端
4、Web服务器在调用jsp时,会给jsp提供一些什么java对象(内置对象)?
HttpSession、ServletConfig、ServletContent、request、response、out等等。
上面我们说了,JSP最后仍然会转换为Java代码,并且前面介绍的 scriplet 所定义的变量是局部变量,那么如果我想定义一个全局变量怎么办呢,这就需要用到声明,形如<%! int i=0;%> 注意这句代码里就必须要有分号了。标签类不仅可以定义变量,也可以定义一个函数。由此我们推断出JSP的声明规则:
1.JSP中声明的变量和方法对应于Servlet中的实例方法和实例变量。这些将被同时请求该页面的所有用户所共享;
2.在使用变量或方法前须先定义(不是说声明变量的位置在页面中要处于使用变量的前面,而是指变量不声明不能使用);
3.声明的变量或方法的作用域为当前页面或包含的页面;
4.语句间以分号分隔。
以上就是对JavaWeb核心技术—JSP的简单介绍,JSP技术本身还是很复杂的,简单的一篇文章很难梳理清里面无数的知识,想要深入了解的小伙伴可以观看本站的Java入门到精通教程,静下心来慢慢体会JSP技术的神奇和奥妙。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习