JSP基础知识点

JSP基础知识点

JSP页面基本结构

    一个JSP页面是通过在HTML标签的基础上潜入JSP动作和指令、CSS、Java变量和方法(java代码段)、其他脚本元素等组成的。
<%@page countentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html";charset=UTF-8">
        <title>JSP页面基础结构实例title>
    head>
    <body>
        <%! int sum=0;
            int x=1;
        %>

        
        <%
            while(x<=10)
            {
                sum+=x;
                ++x;
            }
        %>
        
        <p>1加到10的结果是:<%=sum%>p>
        <p>现在的时间是:<%=new java.util.Date()%>p>
        
    body>
html>

注释

1.**隐藏注释**:<%--注释语句--%>
 在发布JSP网页时完全被忽略,也不会输送到客户浏览器上,即JSP页面运行后页面上看不到注释内容,而且源文件中也看不到注释内容。
 2.**java注释**:<%/*注释语句*/%>或<%//注释内容%>
 java注释和隐藏注释类似,在发布网页时不会在页面上显示,在浏览器的源文件中也不会看到注释内容。
 3.**HTML注释**:``
 在发布网页时可以在浏览器源文件窗口中看到HTML注释,即注释的内容会被输送到客户端浏览器中。

JSP的指令

1.page指令

page指令用来定义JSP文件中的全局属性,它描述了与页面相关的一些信息,其作用于为它所在的JSP页面和其包含的文件。一般位于JSP页面的顶端。

<%@page
    [language="java"]
    /*
     用于指定JSP页面中使用的脚本语言,默认值是Java。目前只能使用Java
    */
    [extends="package.class"]
    /*
    用于指定JSP编译器父类的完整限定名,此JSP页面产生的Servlet将由该父类扩展而来。
    */
    [import="{package.class|package.*},..."]
    /*
    用于导入JSP页面使用的JavaAPI类库。
    */
    [session="true|false"]
    /*
    用于指定是否可以使用session对象,若允许页面参与HTTP会话,就设置true,默认值为true.
    */
    [buffer="none|8kb|sizeKb"]
    /*
    用于设置页面的缓冲区大小(字节数),属性值为none时表示禁止缓冲区,其默认值为8KB.
    */
    [autoFlush="true|false"]
    /*
    用于指定JSP页面缓冲区是否自动刷新输出,其默认值为true.
    为true时,页面缓冲区满时自动刷新输出,否则当页面缓冲区满时抛出一个异常。
    */
    [isThreadSafe="true|false"]
    /*
    用于指定JSP页面是否能够处理一个以上的请求,如果为true,则该页面可能同时收到JSP引擎发出的多个请求;反之,JSP引擎会对收到的请求进行排队,当前页面在同一时刻只能处理一个请求。默认值为true.
    */
    [info="text"]
    /*用于指定JSP页面的相关信息文本,无默认值*/
    [errorPage="relatiuveURL"]
    /*
    用于指定错误页面。当页面出现一个没有被捕获的异常时,错误信息将被throw语句抛出。
    */
    [contentType="mimeType[;charset=chrarcterSet]"]
    /*
    用于指定内容MIME类型和JSP页面的编码方式,对于普通的JSP页面,默认的contentType属性值为"text/html;charset=ISO-8859-1"
    */
    [pageEncoding="pageEncoding"]
    /*
    用于指定JSP页面的编码方式,默认值为ISO-8859-1,为支持中文可设置为UTF-8.
    */
    [isErrorPage="true|false"]
%>

2.include指令

include指令用于在当前JSP页面中加载需要插入的文件代码,即为页面插入一个静态文件,如JSP页面,HTML页面、文本文件或者一段Java程序。

<%@include file="文件名"%>

3.taglib指令

taglib指令用于指定页面中的标签库以及自定义标签的前缀

<%@taglib uri="tagLibraryURI"prefix="tagPrefix"%>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

JSP常用动作

1.动作

可以用于动作体中,为其他动作传送一个或者多个参数。

param name="参数名" value="参数值"/>
2.
    <jsp:include page="文件名" flush="true">
        <jsp:param name="参数名" value="参数值"/>
    jsp:include>
    
与include指令的区别

动作和include指令之间的不同在于它们被调用的时间。
前者在页面请求期间被激活,而include指令在页面转换期间被激活。


JavaBean技术

JavaBean开发简单,许多动态页面处理过程实际上被封装到JavaBean当中,可以将大部分功能放在JavaBean中完成。JavaBean在Java Web项目中用来捕获页面表单的输入并封装事务逻辑,从而很好地实现业务逻辑和页面的分离,使得系统更加健壮、灵活和易于维护。
JavaBean定义(声明)应遵循的规范
1.必须有一个无参的构造函数
2.对在Bean中定义的属性提供getter和setter方法,并且这些方法为公共的。
3.对于boolean类型的属性,其getter方法的形式为isXxx的,其中Xxx为首字母大写的属性名
4.对于数组类型的属性,要提供形式为getXxx和setXxx的方法。


3.动作
相当于在JSP页面中声明一个javaBean类的对象,并且予以调用。

<jsp:useBean id="Bean实例名称" scope="page|request|session|application"
class="JavaBean类" type="对象变量的类型" beanName="Bean名字"/>

<jsp:useBean id="time" type="java.io.Serializable" beanName="java.util.Date"/>

动作用来设置、修改已实例化的Bean中的属性值。相当于调用Bean对象中的setter方法。

<jsp:setProperty name="Bean的名称" property="*"|property="属性" [param="属性"|value="值"]/>

动作获取指定的Bean属性值并转换成字符串输出。相当于调用Bean对象的getter方法。

name="Bean的名称" property="Bean的属性"/>

4.动作
用于转发客户端的请求到另一个页面或者另一个Servlet文件中去。

<jsp:forward page="地址或者页面"/>

<jsp:forward page="success.jsp">
    <jsp:param name="userName" value="<%=name%>"/>
jsp:forward>

你可能感兴趣的:(Web笔记)