J2EE应用讲解(3)——JSP基础知识

1JSP基本语法

  • Html注释
    两种注释,一种是可见的,标准的
    HTML注释。
    <!-- 这里三注释-->
    另一种是对客户端隐藏的,也就是再浏览器中查看源代码的时候不会显示。
    <%-- 这里是注释 --%>
  • 声明
    用来插入
    servlet类准哦概念的方法和成员变量。语法如下:

<% Java Code %>

PS:声明必须以分号结尾,一个声明仅在当前页面有效。

  • 表达式
    JSP计算表达式并且将计算结果输出到页面上。语法如下:
    <%= Java Expression %>
    例如输入日期:
    <%= new java.util.Date() %>
    PS
    :表达式结尾没有分号,前面有等号。
  • 脚本段
    插入复杂的
    Java代码。语法如下:
    <% java code %>
    PS
    :可以和html代码混合在一起。

2JSP核心元素

JSP的核心元素可以用6 3 8 来概括。具体说来就是6Action标签。3Directive命令。8个内置对象。

  • 6Action

J2EE应用讲解(3)——JSP基础知识

JSP动作可以动态的插入文件、重用JavaBean组件、把用户重新定向到另外的页面、为java插件生成HTML代码。

  • Jsp:useBean 寻找或者实例化一个JavaBean.
    <jsp:useBean id="name" class="package.class" />
    意思是创建一个class指定类的实例,给这个实例取名叫“name"
  • Jsp:getProperty 提取指定bean属性的值,转换成字符串,输出。
    <jsp:getProperty name="myName" property="someProperty" />
    提取bean名称叫myNamebeansomeProperty这个属性的值
  • Jsp:setProperty getProperty对象,这个是写属性,那个是读属性。
    <jsp:setProperty name="myName" property="someProperty" />
    bean名称为myNamebean的属性someProperty赋值
  • Jsp:include 在页面被请求时引入一个文件
    <jsp:include page="relative Url" flush="true" />
    relative URL指定的文件引入当前请求页面的文件
  • Jsp:forward 把请求转换到另外一个文件可以三jsp或者servlet
    <jsp:forward page={"
    相对URLL" 或者 "<%=表达式%>} />
    将当前请求request发送到URL指定的文件中。
  • Jsp:plugin 根据浏览器类型为java插件生成OBJECTEMBED标记。
    下载运行
    java插件时运行
  • 3Directives行为命令
    J2EE应用讲解(3)——JSP基础知识

这三个命令与Action命令不同。这个三jsp编译成servlet文件时候执行的。

  • page指令定义设置JSP文件的全局属性。

<%
@pagelanguage=“script language”|
extends=“className”|
import=“importList”|
buffer=“none|kbsize”|   --none:不缓冲,默认8k
session=“true|false”|   --是否可以使用session,默认true
autoFlush=“true|false”  --缓冲器是否自动清除,默认true
isThreadSafe=“true|false”|  --默认false(永远不要设成true)
info=“infoText”|    --任何字符
errorPage=“errorPageUrl”|
isErrorPage=“true|false”|
contentType=“contentTyepInfo”|
                pageEncoding=“gb2312”
%>

例子

<%@page import="java.util.*, java.lang.*" %>
<%@page buffer="5kb" autoFlush="false" %>
<%@page errorPage="error.jsp" %>

描述

<%@page %>指令作用于整个JSP页面,同样包括静态的包含文件。但是<% @ page %>指令不能作用于动态的包含文件,比如<jsp:include>

你可以在一个页面中用上多个<%@ page%>指令,但是其中的属性只能用一次,不过也有个例外,那就是import属性。因为import属性和Java中的import语句差不多(参照JavaLanguage),所以你就能多用此属性几次了.

无论你把<%@ page%>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部.

  • Include 指令 用于jsp转换成servlet时引入其他文件。这个和前面提到的Action中的include不同前面的是页面请求时引入,这个是编译成servlet时引入。
    <% @ include file="relative url" %>
  • Taglib指令
    定义标签库以及自定义标签的前缀。
    <%@ taglib url="URIToTagLibrary" prefix="tagPrefix" %>

  • 8个内置对象
    J2EE应用讲解(3)——JSP基础知识

8个内置对象就是我们常用到的一些jsp应用的抽象,封装。就相当于我们程序中的类一样。只不过这个是系统已经提供的类。其中很多对象与servlet的对象完全相同。

  • Request 对象封装了客户端到服务器的数据。这些数据有客户提交的数据,也有客户端的一些配置信息。比如客户的IP,主机名等。通过getAttribute方法和setAttribute方法页面获得服务器的数据和向request添加数据。可以利用getParameter查看请求参数。也可以查看请求类型,请求的HTTP头等。
  • Respose 对象从服务器到客户端的响应封装。用来将服务器的内容写入客户端。常用的是getWriter方法。在客户端打印数据。
  • Out 对象 用来向客户端打印数据。它就像是response的一支笔。执行具体的打印动作。
  • Session 对象提供服务器和客户端的会话。一个session就像是一次对话。对话的内容是用户的状态和一些认证信息。
  • Application 对象。就是一个公用的会话。与session相对。session是每个用户独有的。Application 是这些用户共享的一些数据。
  • Config 提供servlet的一些配置信息。仅在当前页有效。
  • pageContext 提供存取所有关于JSP程序执行时所需的属性和方法。如session application config out。有效范围为当前页。这个就像是这些对象的一个大容器。
  • Page 相当于java类中的this。用处不大。表示当前页面。

你可能感兴趣的:(J2EE)