)
关于Spring Boot+Vue全栈开发实战(三方面)前端 全栈 Spring Boot
JSP概述
JSP指令标记与JSP动作标记 隐式对象的使用方法
4.1.1 什么是JSP(Java Server Page)
在JSP全名是Java Server Page,它是建立在Servlet规范之上的动态网页开发技术。 在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。为了与普通HTML有所区别,JSP文件的扩展名为 .jsp。
从配置信息可以看出,以.jsp为扩展名的URL访问请求都是由org.apache.jasper.servlet.JspServlet处理,所以,Tomcat中的JSP引擎就是这个Servlet程序,该Servlet程序实现了对所有JSP页面的解析。
4.1.2 JSP运行原理
JSP文件也可以像Servlet程序一样,在web.xml文件中进行注册和映射虚拟路径。注册JSP页面的方式与Servlet类似,只需将元素修改为元素即可。
Java代码必须包含在“<%”和“%>”之间
4.1.3 分析JSP所生成的Servlet代码
当用户第一次访问JSP页面时,该页面都会被JspServlet翻译成一个Servlet源文件,然后将源文件编译为.class文件。Servlet源文件和.class文件都放在“Tomcat安装目录/work/Catalina/localhost/应用名/”目录下。由JSP文件翻译成的Servlet类带有包名,包名为org.apache.jsp,
4.2.1 JSP模板元素
JSP页面可以按照编写HTML页面的方式来编写,其中可以包含HTML文件的所有静态内容,在静态的HTML内容之中可以嵌套JSP的其他各种元素来产生动态内容和执行业务逻辑。 JSP页面中的静态HTML内容称之为JSP模版元素。JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观。
4.2.2 JSP表达式
JSP表达式(expression)用于将程序数据输出到客户端,它将要输出的变量或者表达式直接封装在“<%” 开头和以“%>”结尾的标记中,其基本的语法格式如下所示:
<%= expression%>
例如,对simple.jsp文件进行修改,将脚本片段修改为表达式:
<%= new java.util.Date().toLocaleString() %>
启动Tomcat服务器,在浏览器中再次输入URL地址访问simple.jsp 页面,同样可以正确输出当前的访问时间。 需要注意的是,JSP表达式中的变量或表达式后面不能有分号(;)
4.2.3 JSP脚本片段
JSP脚本片断是指嵌套在<% 和 %>之中的一条或多条Java程序代码,这些Java代码必须严格遵守Java语法规范,否则编译会报错。接下来,看一段简单的JSP内容,具体如下: <% 和 %>之间的代码 就是一个JSP脚本片段,该脚本片段中的Java代码必须严格遵守Java语法规范,在每个执行语句后都使用分号(;)结束。
脚本片断中的Java代码将被原封不动地移到由JSP页面所翻译成的Servlet的_jspService()方法中,脚本片断之外的任何文本、HTML标记以及其它JSP元素也都会被转换成相应的Java程序代码插入到_jspService()方法的相应位置。
4.2.4 JSP声明
在JSP技术中提供了声明,它以“<%!”开始,以“%>”结束, 在声明的语法格式中,被声明的Java代码将被翻译到Servlet的_jspService()方法之外,即在JSP声明中定义的都是成员方法、成员变量、静态方法、静态变量、静态代码块等。
JSP注释和HTML注释的区别
由于JSP页面中存在HTML代码,因此,在JSP页面中同样可以使用HTML注释。不同的是,HTML注释的内容会被当做普通文本发送到客户端,例如,在comment.jsp文件中添加一行HTML注释,如下所示。
<!-- 当前的时间为 :<%= (new java.util.Date()).toLocaleString()%> -->
程序运行后,这行注释在comment.jsp文件中会被翻译成如下所示的代码:
out.write("<!——当前的时间为 :");
out.print( (new java.util.Date()).toLocaleString());
out.write(" -->\r\n")
JSP基本语法
JSP指令
JSP隐式对象
JSP标签
|