`

JSP总结

 
阅读更多

                                          JSP总结

<!--[if !supportLists]-->1.       <!--[endif]-->基础

<!--[if !supportLists]-->1)  <!--[endif]-->注释:

HTML注释:<!—xxxxx  --->

JSP注释: <%--  xxxxx     -- %> 

    2)JSP表达式:每次请求时都计算并发送到客户程序

       <%= Java value      %>

3)JSP脚本:每次请求页面时执行一个或多个语句(放到serivces的方法中)

        <%   Java Statement      %>

4)JSP声明:在页面生成Servlet时,成为类定义的一部分的字段或方法

       <%!   Field Definition   %>

<%!   Method Definition   %>

<!--[if !supportLists]-->2.       <!--[endif]-->JSP指令

主要包括Servlt代码的高层结构信息(page),页面转换期间引入的代码(include)和采用定制的标签库(taglib)。其格式为:

    <%@  directive att = ”val”  %>

<!--[if !supportLists]-->1)      <!--[endif]-->Page指令

Page指令可以定义的属性有import,contentTypepageEncodingsessionisELIgnoredbufferautoFlushinfoerrorPageisErrorPageisTreadSafelanguageextends

Input属性:主要引入JSP中要用到的类库或自定义类;格式为<@page import=”java.util.*”>

Session属性:控制页面是否参与会话,默认为true,表示如果存在己有会话,则预定义变量sesseion应该绑定到现在的会话;否则创建新的会话,若为false,表示不自动创建会话,JSPservlet时,对session的访问会导致错误。

contentType属性:设置Content-Type响应报头,表明发送到客户程序的文档的MIME类型。

pageEncodeing属性:表示JSP页面的字符集。

isELIgnored属性:是否忽略JSP表达式语言

buffer属性:指定out变量使用的缓冲区大小,默认大小与服务器有关。格式为:

<% page @ buffer=”sizekb”%>

autoFlush属性:控制当缓冲区充满之后,是否自动清空缓冲区,默认为true

Info属性:对应servletgetServeltInfo方法获取的值。

errorPage:指定当前页面抛出示处理的异常时,跳转到的出错的页面。

isErrorPage:指示当前页面是否可以作为其他JSP页面的错误页面。

 

<!--[if !supportLists]-->2)      <!--[endif]-->include指令:

可以在主JSP文档转换成sevlet时(一般是在首次被访问时),将文件包含到文档。其格式为 <%@ include file=”Relative URL”%>。其这jsp::inlude的区别见后面介绍。

 

3taglib指令:

 

<!--[if !supportLists]-->3.       <!--[endif]-->JSP动作:

页面被请求时采取的动作,主要有include动态包含(jsp::include),useBean动作(jsp::useBeanjsp::setPropertyjsp::getProperty),param动作(jsp::param传递参数)forward动作(jsp::forward),plugin动作(,jsp::plugin)。

<!--[if !supportLists]-->1)  <!--[endif]-->jsp::include动作

请求期间将其他页面的输出也含进来。优点是在被包含页面发生更改时,无需对主页面做出修改,缺点包含的是次级页面的输出而非实际代码,在被包含的页面中不能使用任何有可能影响总体上影响主页面的JSP构造。

   格式:〈jsp::include page=” URL “ flush=”true/false” />  注意如果URL不以”/”开头,则解释为相应于主页面的位置,以“/”开对则解释为相当web应用的根目录(不是相对服务器的根目录)。

 

jsp:includeinclude的区别:

 

 

jsp::include

incude指令

语法的基本形式

<jsp::include page=”” />

<%@ include file=”” %>

动作的时间

请求期间

页面转换期间

产生多少个sevlet

两个(主页面和被包含页面都会产生

一个(被包含页面被插入到主页面中,得到的新页面生成sevlet

被包含页面中是否影响主页面的响应报头

不可以

可以

被包含页面是否可以定义主页面使用的字段和方法

不可以

可以

被包含页面发生更改时是否需要更新新页面

不需要

需要(但是很难实现,所以不好用)

 

<!--[if !supportLists]-->2)  <!--[endif]-->useEban动作:

jsp:useBean:

       构建一个新的bean,格式<jsp:useBean  id=”beanName”  class=”package.class(完全限定路径)” scope=”request/session/application” />

       示例: <jsp:Bean id=”book” class=”mypack.Book” />

ó <% myPack.Book book = new mypack.Book()%>

jsp::setPeoperty

修改bean的属性

       <jsp:setProperty name=”beanName” property=”propertyName” value=”propertyValue” />

       示例:〈jsp:setProperty name=”book” property=”title” value=”Java” />

          ó <% book.setTitle(“java”);%>

jsp::getProperty

       获取或输出bean的某一属性。格式为:

              <jsp:getProperty name=”beanName” property=”propertyName” />

       示例:〈jsp:getProperty name=”book” property=”title” />

          ó <%= book.getTitle(“java”); %>

 

<!--[if !supportLists]-->3)      <!--[endif]-->jsp::param(jsp:params)动作

增加请求的参数。格式为:

        <jsp:params>

               <jsp:param name=”paramName1” value=”paramValue1” />

<jsp:param name=”paramName2” value=”paramValue2” />

       </jsp:params>

 

4)jsp:forward动作

       转发请求,格式

       <jsp:forward page=”url”>

        <jsp:param name=”paramName1” value=”paramValue1” />

<jsp:param name=”paramName2” value=”paramValue2” />

       </jsp:forward>

 

5jsp;plugin动作

 

<!--[if !supportLists]-->4.       <!--[endif]-->JSP九大内置对像

OutrequestresponsesessionapplicationpageconfigexceptionpageContext

 

5. 服务端跳转的两种方法对比:

1<jsp:forward page="xxx.jsp"/>:等价于

request.getRequestDispatcher("xxx.jsp").forward(request,response);本服务器的资源跳转,效率更高.地址栏不改变(仍为跳转前的页面).可得到request属性值.

2response.sendRedirect("xxx.jsp"):

重定向到任意资源.地址栏改为当前页面.无法得到request属性值.

3)客户端的跳转方式:

1).使用form表单的action属性设置要跳转的页面(此方法可以将此页面的form表单属性值传递到下一页面):如下

<form action="my.jsp" name="lili" onsubmit="return test()">

<input type="submit" value="提交">

或者(button类型需要手动提交表单):

<input type="button" value="注册" onclick="test()">

javascript的函数:

function test(){

    //手动设置跳转页面

     document.lili.action="my1.jsp";

    document.lili.submit();

}

2).使用javascript中的页面跳转的方法(不能将form表单中的属性值传递到下一页面):

window.location.href="my.jsp";

window.location.replace("my.jsq");//此方法不可将页面后退.

 

<!--[if !supportLists]-->5.       <!--[endif]-->表达式语言:

<!--[if !supportLists]-->1)  <!--[endif]-->表达式语言的形式:

${ expression }

如果希望 ${ 出现在页面的输出中,在JSP页面中需要使用 \${ 转义,如果希望在表达式中使用单引号或双引号,则使用“ \’ 和“ \”

<!--[if !supportLists]-->2)  <!--[endif]-->用表达式语言访问作用域变量

%{name}

         PageContext, HttpSevletRequest,HttpServletResponse,HttpSessionServletConext中按顺序查找name的属性。

 

<!--[if !supportLists]-->3)  <!--[endif]-->访问bean的属性

%{beanName.propertyName}

         %{ custeomer.firstName }:访问custemer对象的firstName属性;也可以用数组记法访问bean属性,如%{ custeomer[“firstName”] }

 

<!--[if !supportLists]-->4)      <!--[endif]-->访问集合

使用 ${ attribteName[entryName] }的方式访问集合中的项

如果是数组,${theArray[index]}  ${customerNames[0]}

如果是实现了List接口的对象,theList.get(index) => ${theList[index]}

如果是实现了Map的接口,theMap.get(key) => %{theMap[key]}

 

<!--[if !supportLists]-->5)      <!--[endif]-->引用隐式对象

pageContet:引用当前页面的pageContext,如输出当前对话的ID ,${pageContext.session.id}

paramparamValuts:允许我们访问基本的请求参数(param)或请求参数值的数组(paramValues;

headerhaedValues:分别访问HTTP请求报头的主要值及全部值,如${header.Accept}${header[“Accepted”]},若点号后面的值不能作为合法的名称,则不能用点号记法。如访问header”Acctept-Encoding”报头,就必须用${header[“Accept-Encoding”]}

cookie:允许我们快捷地引用输入cookie,如%{cookie.user.value}%{cookie”.[user”].value}

initParam:允许我们容易地访问上下文初始化参数,如${initParam.defaultColor}

       pageScope, reuqestScope, sessionScope,applicationScope;允许我们限定系统在什么地方查找作用域变量,如${requestScope.name} 只会在request中查找name的值。

 

6)表达式语言中的运算符

算术运算符:

       + - :常规的加减运算,需要注意的是,第一,任一操作数为字符串,则字符串会被自动解析成数值;第二,任一参数为BigIntegerBintegerDecimal类型,系统会使用相应的add,subtract方法;

       */div:常规的乘除法运算,类型自动转换,常规运算优先依然适用,/div等同的;

       % mod:计算模数,和Java编程语言中的%相同。

 

关系运算符

 == eq :类似于Javaequals方法;

 != ne:检查参数是否相同,类似于equals的否定式;

 < lt  > gt <= le >=ge:标准的关系运算符

 

逻辑运算符

 &&  and  ||  or  !  not :标准的ANDORNOT运算符,使用短求值

 

空运算

Empty:如果运算符的参数为null,空字符串,空map,或空集合,返回true,否则返回false

 

表达式的条件求值:

       ${test?expresstion: expression2},需要注意的是,表达式的条件求值的主要目标是简单显示,避免将这项技术用在商业逻辑中

 

 

分享到:
评论

相关推荐

    jsp课程总结

    "jsp课程总结" JSP(JavaServer Page)是一种基于 Java Server 以及整个 Java 体系的 Web 开发技术,能够建立动态的、高性能的、安全的、跨平台的先进动态网站。JSP 技术的核心是将 Java 代码嵌入到 HTML 页面中,...

    登录注册的jsp总结

    4. **JSP动作(JSP Actions)**:如`&lt;jsp:include&gt;`和`&lt;jsp:forward&gt;`等,但示例中未使用。 5. **EL(Expression Language)**:虽然示例中未使用,但EL通常用于简化JSP页面中的数据访问。 6. **JSTL(JavaServer ...

    servlet与jsp总结

    自己总结的servlet与jsp部分 希望对大家有所帮助

    jsp总结关于jsp

    ### JSP知识点总结 #### 1. JSP简介 JSP(Java Server Pages)是一种基于Java的服务器端脚本技术,用于创建动态网页。它结合了HTML标记和Java代码,使得开发者可以在静态网页的基础上添加动态内容。JSP具有以下...

    jsp总结代码

    jsp总结代码,配置Tomcat,jsp的组成 (定义:在html中嵌入java脚本代码)

    jsp内置对象ppt总结

    jsp基础的学习资料,适合初学者,ppt形式,可以很容易学会jsp jsp基础的学习资料,适合初学者

    jsp学习总结适合学生看的

    **JSP 学习总结** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,以实现服务器端的程序逻辑。对于初学者来说,掌握JSP的基础知识和核心概念至关重要。 ### JSP 开发Web应用系统 ...

    jsp实现教室管理系统

    总结,利用JSP开发教室管理系统,我们需要结合Servlet、Java Bean、JDBC、数据库以及前端技术,实现用户交互、数据处理和业务逻辑。在实际开发过程中,还要注意安全性、性能优化以及代码规范,以构建出高效、稳定的...

    很全面的jsp总结大全

    jsp小结,温故而知新页面语言: 静态:html 动态:asp,php,jsp 1.jsp运行环境 动态的代码 必须有服务器来解析这些代码 2.服务器tomcat 免费服务器

    jsp 知识总结1

    **JSP知识总结1** **一、静态页面基础** 1. **HTML文档结构**:HTML文档通常由开始标记`&lt;html&gt;`、头部标记`&lt;head&gt;`、主体标记`&lt;body&gt;`以及结束标记`&lt;/html&gt;`组成。 2. **排版标记**:包括标题标记如`&lt;hn&gt;&lt;/hn&gt;`(n...

    jsp期末概念总结

    【JSP期末概念总结】 JSP(JavaServer Pages)是一种基于Java的技术,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页的创建。JSP文件在服务器上被编译成Servlet类,然后执行生成动态内容。JSP的核心在于将...

    JSP学习 入门总结 语法总结 用法总结

    JSP(Java Server Pages)是Java技术中用于创建动态网页的一种标准,它是J2EE(Java 2 Platform, Enterprise Edition)的一部分。JSP的核心在于它能够将静态HTML内容与Java代码相结合,允许开发者在服务器端生成HTML...

    JSP开发模式,jstl标签库(用于在jsp中写逻辑功能页面)el,jstl,jsp总结.emmx

    使用mindmaster打开

    JSP与Servlet 技术总结

    JSP & Servlet 技术总结 JSP技术总结 2 1. JSP页面元素构成 2 2. JSP脚本元素 2 3. 注释 2 4. JSP指令 2 5. JSP动作元素 3 6. JSP内置对象 5 7. JSP内置对象及其作用 5 8. 获取页面参数 5 9. 重定向...

    jsp基本登录模块详细介绍

    JSP(JavaServer Pages)是一种基于Java的动态网页技术,常用于构建Web应用程序。在本文中,我们将深入探讨一个基本的JSP登录模块的实现,包括各个关键页面的功能和交互流程。 1. **检查Cookie页面(index.jsp)**: ...

    ACCP5.0 JSP(2)

    **ACCP5.0 JSP(2):深入理解与应用JSP开发Web应用系统** 在Web开发领域,JavaServer Pages (JSP) 是一种强大的技术,用于创建动态、交互式的网页。本教程将深入探讨JSP的核心概念,理论部分旨在帮助开发者掌握JSP...

    jsp 分页实现总结大全

    总结,JSP分页实现是一个涉及到数据库操作、服务器端逻辑和客户端展示的综合过程。开发者需要理解如何在后台处理分页逻辑,如何将数据传递给前端,以及如何在前端展示分页效果。掌握这些知识后,无论是开发大型网站...

    jsp Servlet总结

    jsp servlet开发总结文档 jsp Servlet总结jsp Servlet总结jsp Servlet总结

Global site tag (gtag.js) - Google Analytics