记录一个咸鱼大学生三个月的奋进生活033
Jsp相关知识
Jsp创立的初衷:
Jsp是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,只对网页中的要动态产生的内容采用Java代码来编写,而对固定不变的静态内容采用普通静态HTML页面的方式来编写。
如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序代码产生,整个Servlet程序的代码将非常臃肿,编写和维护都将非常困难。
而对于大量静态内容的美工设计和相关HTML语句的编写,并不是程序员所要做的工作,程序员对此也不一定在行,网页美工设计和制作人员不懂Java编程,更是无法来完成这样的工作。
所以为了弥补 Servlet 的缺陷,SUN公司在Servlet的基础上推出了JSP(Java Server Pages)技术作为解决方案。
Jsp的主要概念: JSP(Java Server Page)是由sun公司制定的用java编写web应用程序的规范,技术,是建立在servlet规范之上的
这里要注意的是:我们常说的 JSP页面 = JAVA + DHTML (而不是说JSP等于JAVA+DHTML)
Jsp的执行原理
WEB容器(Servlet引擎)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理,每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。
Jsp首次运行:.jsp → .java → .class
之后的运行:直接访问 .class文件
Jsp中的脚本元素
在JSP页面中编写 Java代码需要嵌套在<%和%>中,Java代码中要有分号
<%和%>之内 的Java代码被称之为脚本片段
<%和%>之外 的内容被称之为JSP的模版元素
<%=和%>:Jsp表达式,Jsp表达式中不需要分号,其实这个就相当于Java代码中的out.print,而Jsp表达式转译成.java文件时代码之中也是如此
<%! 和%>中声明的都是全局变量