JSP的基本构成和执行流程

JSP页面主要由指令标签、HTML、标记语言、注释、嵌入Java代码和JSP动作标签组成。

目录

  1. 脚本Scriptlet
  2. 指令标签
  3. 注释
  4. JSP的执行流程

 

 

 

1、脚本Srciptlet

脚本Scriptlet即为嵌入的java代码。一般有三种格式,分别用于定义局部变量和方法、全局变量和方法和用于输出表达式。格式为:

<%  局部变量(java代码) %>

<%! 全局变量,定义方法   %>

<%= 输出表达式 %>

以下分别举例:

//<%  %>用法演示
<%    
    //定义局部变量name
    String name = "Emove";
    //用out对象打印到网页上
    out.print("this is "+name);
    init();
%>

//<%!  %>用法演示
<%!
  	public String bookName;//全局变量
  	
    //定义全局方法
  	public void init(){
  	    bookName = "JSP程序设计";
  	}
 %>

//<%=  %>用法演示
//输出全局变量的值
<%= "this is "+bookName %>

注:JSP中out.println()不能换行,如想换行,在网页代码中用<br />标签即可。

2、指令标签

指令标签不会产生任何内容输入到网页中,主要用于定义整个JSP页面的相关信息。例如使用的语言,导入的类包,指定错误处理页面等。指令标签分别有page指令、include指令和taglib指令。

基本语法:<%@指令 属性名="值"... %>

1、page指令

     这是JSP页面最常用的指令,用于定义整个JSP页面的相关属性,这些属性在JSP页面被服务器解析成Servlet时会转成相应的java代码

     <%@ page language="java" import="java.util.Date" pageEncoding="UTF-8" 

              contentType="text/html; charset=UTF-8"%>

     page指令的属性
                language:jsp页面使用的脚本语言,默认为Java
                import:用于导入类或包
                pageEncoding:JSP文件的编码格式,如果设置为ISO-8859-1,那么网页就不支持中文字符,会出现乱码,建议设置为UTF-8
                contentType:浏览器解析JSP的编码
                extends:用于设置JSP页面继承的Java类,所有的JSP页面执行之前都会被服务器解析成Servlet。该属性不常用,而且有可能影响服务器的性能优化

注:JSP引擎会自动引入下面的包

        java.util.*;
                   javax.servlet.*;
                   javax.servlet.jsp.*;
                   javax.servlet.http.*;

2、include指令

    include指令用于文件包含。该指令可以在JSP页面中包含另一个文件的内容,但是它只支持静态包含,也就是说被包含文件中的所有内容都被原样包含到该JSP页面中。

常用<%@include file="xxx.jsp"%>,以下是用法演示

<%@page language="java" import="java.util.Date" pageEncoding="UTF-8"%>
<%
    Date date= new Date();
    String dateString;
    dateString = String.format("%Y年%tm月%td日",date,date,date);
%>
<%=dateString%>
<%@page language="java" import="java.util.*" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<!document>
<html>
    <head>
        <title>include指令演示</title>
    </head>
    <body>
        当前日期是:
            <%@include file="date.jsp"%>
    </body>

</html>

3、taglib标签

    该指令用于加载用户自定义的标签。其语法格式如下:

    <%@taglib prefix="fix" uri="tagUriorDie"%>

    prefix:用于设置加载自定义标签的前缀

    uri:用于指定自定义标签的描述符文件的位置

3、注释

            html注释<!-- 注释 --> 可以被用户通过查看源码所观察到
            java注释 // /*  .....  */
            jsp注释<%--  注释  --%> 

4、JSP的执行流程

第一次访问:服务端将jsp翻译成java,再将java(servlet文件)编译成calss文件
           第二次访问:直接访问class文件
         (如果服务端代码修改了,将会在访问时重新翻译和编译)

注:Jsp和Servlet文件可以互相转换

猜你喜欢

转载自blog.csdn.net/weixin_40516653/article/details/83317835
今日推荐