[原创]java WEB学习笔记13:JSP介绍(背景,特点,原理)

Posted jason_zhangz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[原创]java WEB学习笔记13:JSP介绍(背景,特点,原理)相关的知识,希望对你有一定的参考价值。

JSP介绍:(理解)

1)JSP背景

  ①在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变;

  ②如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将非常臃肿,编写和维护都将非常困难;  

  ③对大量静态内容的美工设计和相关html语句的编写,并不是程序员所要做的工作,程序员对此也不一定在行。网页美工设计和制作人员不懂Java编程,更是无法来完成这样的工作;

  ④为了弥补 Servlet 的缺陷,SUN公司在Servlet的基础上推出了JSP(Java Server Pages)技术作为解决方案;

  JSP是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,只对网页中的要动态产生的内容采用 Java 代码来编写,而对固定不变的静态内容采用普通静态HTML页面的方式编写

 

2)关于JSP

  ①SP页面是由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件,JSP 页面的文件扩展名必须为.jsp;

  ②在JSP页面中编写的Java代码需要嵌套在<%和%>中,嵌套在<%和%>之间的Java代码被称之为脚本片段(Scriptlets)没有嵌套在<%和%>之间的内容被称之为JSP的模版元素;

  ③JSP中的Java代码可以使用out.println语句将其他Java程序代码产生的结果字符串输出给客户端,也可以使用System.out.println语句将它们打印到命令行窗口;

  ④JSP文件就像普通的HTML文件一样,它们可以放置在WEB应用程序中的除了WEB-INF及其子目录外的其他任何目录中,JSP页面的访问路径与普通HTML页面的访问路径形式也完全一样

  ⑤在JSP页面中也可以使用一种称之为JSP表达式的元素,只需将要输出的变量或表达式直接封装在<%= 和 %>之中,就可以向客户端输出这个变量或表达式的运算结果。在JSP表达式中嵌套的变量或表达式后面不能有分号。

 

3)JSP的运行原理(JSP本质上是一个Servlet

  ①WEB容器(Servlet引擎)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理;

  ②每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,

     接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序;

  ③JSP规范也没有明确要求JSP中的脚本程序代码必须采用Java语言,JSP中的脚本程序代码可以采用Java语言之外的其他脚本语言来编写,但是,JSP页面最终必须转换成Java Servlet程序;

  ④可以在WEB应用程序正式发布之前,将其中的所有JSP页面预先编译成Servlet程序

以上是关于[原创]java WEB学习笔记13:JSP介绍(背景,特点,原理)的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记16:JSP指令(page,include),JSP标签(forwar,include,param)

[原创]java WEB学习笔记36:Java Bean 概述,及在JSP 中的使用,原理

[原创]java WEB学习笔记29:Cookie Demo 之自动登录

[原创]java WEB学习笔记76:Hibernate学习之路---Hibernate介绍,hibernate 环境的搭建

[原创]java WEB学习笔记89:Hibernate学习之路-- -Hibernate检索方式(5种),HQL介绍,实现功能,实现步骤,

[原创]java WEB学习笔记83:Hibernate学习之路---双向 1-n介绍,关键点解释,代码实现,set属性介绍(inverse,cascade ,order-by )