[转]JSP基础知识

1:JSP基本语法

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

<% Java Code %>

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

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

2:JSP核心元素

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

  • 6个Action

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名称叫myName的bean的someProperty这个属性的值
  • Jsp:setProperty 同getProperty对象,这个是写属性,那个是读属性。
    <jsp:setProperty name="myName" property="someProperty" />
    给bean名称为myName的bean的属性someProperty赋值
  • Jsp:include 在页面被请求时引入一个文件
    <jsp:include page="relative Url" flush="true" />
    将relative URL指定的文件引入当前请求页面的文件
  • Jsp:forward 把请求转换到另外一个文件可以三jsp或者servlet
    <jsp:forward page={"相对URL值L" 或者 "<%=表达式%>} />
    将当前请求request发送到URL指定的文件中。
  • Jsp:plugin 根据浏览器类型为java插件生成OBJECT或EMBED标记。
    下载运行java插件时运行
  • 3个Directives行为命令

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

  • page指令定义设置JSP文件的全局属性。
   1: <%
   2: @pagelanguage=“script language”|
   3: extends=“className”|
   4: import=“importList”|
   5: buffer=“none|kbsize”|   --none:不缓冲,默认8k
   6: session=“true|false”|   --是否可以使用session,默认true
   7: autoFlush=“true|false”  --缓冲器是否自动清除,默认true
   8: isThreadSafe=“true|false”|  --默认false(永远不要设成true)
   9: info=“infoText”|    --任何字符
  10: errorPage=“errorPageUrl”|
  11: isErrorPage=“true|false”|
  12: contentType=“contentTyepInfo”|
  13:                 pageEncoding=“gb2312”
  14: %>

例子

   1: <%@page import="java.util.*, java.lang.*" %>
   2: <%@page buffer="5kb" autoFlush="false" %>
   3: <%@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个内置对象

这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。用处不大。表示当前页面。

原文地址:

http://blog.csdn.net/lsh6688/article/details/7067594

原文地址:https://www.cnblogs.com/chaosimple/p/3007041.html