初始JSP

什么是JSP

 1、JSP(Java Server Pages):在HTML中嵌入Java脚本代码

              静态内容是JSP页面中的静态文本,其基本是HTML文本,与Java和JSP语法无关。

例子:

运行结果:

JSP指令元素

           1、 JSP指令元素的作用是通过设置指令中的属性,在运行时,控制JSP页面的某些特性。

          2、JSP指令一般以“<%@”开始,以“%>”结束。

           在上述栗子中 属于JSP指令的代码片段为:

           <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>

            page:指令是针对当前页进行设置的一种指令,通常位于JSP页面的顶端,在一个JSP页面中可以包含多个

                         page指令。需要注意的是,page指令只对当前JSP页面有效。

            page语法:

                        <%@ page 属性1=“属性值1” 属性2=“属性值2”........... %>

            JSP容器将使用默认指令属性值。如果需要对page指令中的一个属性设置多个属性值,期间以逗号隔开。

                         <%@ page 属性1=“属性值1” 属性2=“属性值2”,“属性值3”........... %>

page常用属性:

属性详细介绍:

(1)、language属性:page指令中的language属性用于指定当前JSP页面所采用的脚本语言,当前JSP版本

            只能使用Java作为脚本语言。该属性可以不设置,因为JSP默认就是采用Java作为脚本。

(2)、import属性:page指令中的import属性在实际开发中使用比较频繁。通过import属性可以在JSP文件

            的脚本片段中引用类。如果一个import属性引入多个类,需要在多个类之间用逗号隔开。

            格式如下:

            <%@ page import="java.util.* , java.text.* "%>

            <%@ page import="java.util.* " %>

            <%@ page import="java.text.* "%>

(3)、contentType属性:该属性的设置在开发过程中是非常重要的,而且经常被用到。中文乱码一直是困扰

            开发者的一个问题,而contentType属性可以对编码格式进行设置。这个设置告诉Web容器在客户端

            浏览器上以任何格式及使用何种编码方式显示响应的内容。

            格式如下:

            <%@ page contentType=" Text/html ; charset=UTF-8 "%>

2、JSP脚本元素

        在JSP页面中,将小脚本(scriptlet)、表达式(expression)、声明(declaration)统称为JSP脚本元素。

        1、什么是小脚本

            小脚本可以包含任意的Java片段,形式比较灵活,通过在JSP页面中编写小脚本可以执行复杂的操作和

            业务处理。编写方法是将Java程序片段插入<%%>标记中。

            例如:

这段代码中使用了JSP的一个内置对象out,out.print()方法用于页面中输出数据。

2、什么是表达式

        表达式是对数据的表示,系统将作为一个值进行计算显示。当需要在页面中输出一个Java变量或

        着表达式值时。

        语法:

           <%=java变量或表达式%>

            小栗子:

[plain] view plain copy
 
  1. <body>  
  2.     <%  
  3.         int[] value = { 60, 70, 80 };  
  4.         for (int i : value) {  
  5.             //out.print(i);  
  6.     %>  
  7.         <%=i%>  
  8.     <%  
  9.         }  
  10.     %>  
  11. </body>  

需要注意的是:在Java中语法的规定中,每一条语句末尾必须使用分号代表结束。而在JSP中使用表达式输出数

据时,不能再表达式结尾处添加分号。

问答题:如何实现在JSP页面中计算两个数的和,并将结果输出显示?

小栗子:

[plain] view plain copy
 
  1. <body>  
  2.     <%  
  3.         int A=10,B=20;  
  4.         int C=A+B;  
  5.     %>  
  6.     数字<%=A %>和<%=B %>的求和结果为:<%=C %>  
  7. </body>  

3、JSP声明

    在编写JSP页面程序时,有时需要为 Java脚本定义成员变量和方法,这时就需要使用JSP声明实现。

    语法:

    <%!---------%>

    定义一个方法:

4、JSP的注释

    1、<!--这是HTML注释(客户端查看源代码可以看到源代码)-->

    2、<%--这是JSP注释(客户端无法看到源代码)--%>

    3、<% // 使用预定格式将日期转换为字符串%>

JSP执行原理

1、JSP执行原理图

译后的class文件中:JSPService中主要存放于,转换后的jsp代码。

1、用户通过浏览器访问jsp的时候,tomcat 负责把jsp转换为Java文件。

        jsp声明------》Java文件的成员方法。

        jsp脚本-------》Java文件中的_jspService方法的一段代码。

        jsp表达式---》Java文件中的_jspService方法的一段代码  out.print(表达式);

        普通html代码--》Java文件的_jspService方法的一段代码  out.print(表达式)。

2、服务器再把Java文件编译成为class文件。

3、服务器执行class文件。

        首先对生成的Java类进行实例化,接着调用实例化后对象的_jspService方法输出html给浏览器

4、浏览器渲染html数据。

第一次请之后,Web容器可以重用以经编译好的字节码文件。

注意:

如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译。

附加小栗子

问题:求出2000-2013期间的闰年:

运行结果:

原文地址:https://www.cnblogs.com/3020815dzq/p/8907882.html