第6章 JSP

1. JSP基础理论

JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的
一种用于开发动态web资源的技术。
JSP技术的特点:

  • JSP是一种服务器端脚本语言,其出现降低了Servlet编写页面的难度。JSP本质上就是Servlet,实际上JSP是首先被翻译成Servlet后才编译运行的,因此JSP能够实现Servlet所能够实现的所有功能。
  • 相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

第一次访问JSP

第一次访问JSP

后续访问JSP

后续访问JSP

2. JSP的组成元素

2.1 DHTML静态内容

包含HTML静态网页,CSS样式表,Javascript客户端脚本等静态资源


2.2 JSP脚本
2.2.1 Java脚本

在JSP页面上以<% %>表现,在其中编写Java代码,实现动态效果。其中包含了9个隐式对象,不用声明即可直接使用

<%
  Object o = request.getAttribute("key");
%>

9个隐式对象分别如下:

  • pageContext page作用域
  • request request作用域和请求对象
  • session session作用域
  • application application作用域
  • response 响应对象
  • page 相当于JSP翻译成Java文件中的this
  • config web服务器配置对象
  • out Java文件中输出动态网页的out对象
  • exception JSP中的异常对象,仅限于JSP定义为isErrorPage=true时使用
2.2.2 输出脚本

在JSP页面上以<%= %>表现,用于将变量或者表达式的值显示在网页上

<%
  int a = 3;
  int b = 4;
%>
值:<%= a+b %>
2.2.3 声明脚本

在JSP页面上以<%! %>表现,用于声明类级别的属性或者方法

<%
   x = 3;
   int x = 5;    //jsp_service方法中声明的局部变量
%>
<%!
    int x = 10; //JSP翻译成Java文件中声明属性变量
%>
<%= x %> //5
<%= this.x %> //3

翻译成Java代码

public class XXX_jsp{
  int x = 10;
  public void jsp_service(){
    x = 3;  //相当于this.x = 3;
    int x = 5;  //局部变量
    out.println(x);   //局部变量的优先级高 5
    out.println(this.x);   //属性变量  3
  }
}
2.2.4 注释脚本

在JSP页面上以<%-- --%>表现为JSP的注释。
在JSP页面上,常见有3中注释方式

  • <%-- --%> JSP注释
    JSP注释在JSP翻译成Java过程中被忽略
  • <% // %> Java注释
    Java注释在Java文件编译成class文件过程中被忽略

你可能感兴趣的:(第6章 JSP)