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,contentType,pageEncoding,session,isELIgnored,buffer,autoFlush,info,errorPage,isErrorPage,isTreadSafe,language,extends。
Input属性:主要引入JSP中要用到的类库或自定义类;格式为<@page import=”java.util.*”>
Session属性:控制页面是否参与会话,默认为true,表示如果存在己有会话,则预定义变量sesseion应该绑定到现在的会话;否则创建新的会话,若为false,表示不自动创建会话,JSP转servlet时,对session的访问会导致错误。
contentType属性:设置Content-Type响应报头,表明发送到客户程序的文档的MIME类型。
pageEncodeing属性:表示JSP页面的字符集。
isELIgnored属性:是否忽略JSP表达式语言
buffer属性:指定out变量使用的缓冲区大小,默认大小与服务器有关。格式为:
<% page @ buffer=”sizekb”%>
autoFlush属性:控制当缓冲区充满之后,是否自动清空缓冲区,默认为true。
Info属性:对应servlet中getServeltInfo方法获取的值。
errorPage:指定当前页面抛出示处理的异常时,跳转到的出错的页面。
isErrorPage:指示当前页面是否可以作为其他JSP页面的错误页面。
<!--[if !supportLists]-->2)
<!--[endif]-->include指令:
可以在主JSP文档转换成sevlet时(一般是在首次被访问时),将文件包含到文档。其格式为 <%@
include file=”Relative URL”%>。其这jsp::inlude的区别见后面介绍。
3)taglib指令:
<!--[if !supportLists]-->3.
<!--[endif]-->JSP动作:
页面被请求时采取的动作,主要有include动态包含(jsp::include),useBean动作(jsp::useBean,jsp::setProperty,jsp::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:include与include的区别:
|
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>
5)jsp;plugin动作
<!--[if !supportLists]-->4.
<!--[endif]-->JSP九大内置对像
Out,request,response,session,application,page,config,exception,pageContext
5. 服务端跳转的两种方法对比:
1)<jsp:forward
page="xxx.jsp"/>:等价于
request.getRequestDispatcher("xxx.jsp").forward(request,response);本服务器的资源跳转,效率更高.地址栏不改变(仍为跳转前的页面).可得到request属性值.
2)response.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,HttpSession和ServletConext中按顺序查找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}
param和paramValuts:允许我们访问基本的请求参数(param)或请求参数值的数组(paramValues);
header和haedValues:分别访问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)表达式语言中的运算符
算术运算符:
+ 和 - :常规的加减运算,需要注意的是,第一,任一操作数为字符串,则字符串会被自动解析成数值;第二,任一参数为BigInteger或BintegerDecimal类型,系统会使用相应的add,subtract方法;
*,/和div:常规的乘除法运算,类型自动转换,常规运算优先依然适用,/和div等同的;
% 和mod:计算模数,和Java编程语言中的%相同。
关系运算符
== 和 eq :类似于Java的equals方法;
!= 和 ne:检查参数是否相同,类似于equals的否定式;
< 和lt, >和 gt , <= 和le >,=和ge:标准的关系运算符
逻辑运算符
&& and
|| or ! not :标准的AND,OR,NOT运算符,使用短求值
空运算
Empty:如果运算符的参数为null,空字符串,空map,或空集合,返回true,否则返回false
表达式的条件求值:
${test?expresstion:
expression2},需要注意的是,表达式的条件求值的主要目标是简单显示,避免将这项技术用在商业逻辑中
分享到:
相关推荐
"jsp课程总结" JSP(JavaServer Page)是一种基于 Java Server 以及整个 Java 体系的 Web 开发技术,能够建立动态的、高性能的、安全的、跨平台的先进动态网站。JSP 技术的核心是将 Java 代码嵌入到 HTML 页面中,...
4. **JSP动作(JSP Actions)**:如`<jsp:include>`和`<jsp:forward>`等,但示例中未使用。 5. **EL(Expression Language)**:虽然示例中未使用,但EL通常用于简化JSP页面中的数据访问。 6. **JSTL(JavaServer ...
自己总结的servlet与jsp部分 希望对大家有所帮助
### JSP知识点总结 #### 1. JSP简介 JSP(Java Server Pages)是一种基于Java的服务器端脚本技术,用于创建动态网页。它结合了HTML标记和Java代码,使得开发者可以在静态网页的基础上添加动态内容。JSP具有以下...
jsp总结代码,配置Tomcat,jsp的组成 (定义:在html中嵌入java脚本代码)
jsp基础的学习资料,适合初学者,ppt形式,可以很容易学会jsp jsp基础的学习资料,适合初学者
**JSP 学习总结** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,以实现服务器端的程序逻辑。对于初学者来说,掌握JSP的基础知识和核心概念至关重要。 ### JSP 开发Web应用系统 ...
总结,利用JSP开发教室管理系统,我们需要结合Servlet、Java Bean、JDBC、数据库以及前端技术,实现用户交互、数据处理和业务逻辑。在实际开发过程中,还要注意安全性、性能优化以及代码规范,以构建出高效、稳定的...
jsp小结,温故而知新页面语言: 静态:html 动态:asp,php,jsp 1.jsp运行环境 动态的代码 必须有服务器来解析这些代码 2.服务器tomcat 免费服务器
**JSP知识总结1** **一、静态页面基础** 1. **HTML文档结构**:HTML文档通常由开始标记`<html>`、头部标记`<head>`、主体标记`<body>`以及结束标记`</html>`组成。 2. **排版标记**:包括标题标记如`<hn></hn>`(n...
【JSP期末概念总结】 JSP(JavaServer Pages)是一种基于Java的技术,它允许开发者在HTML页面中嵌入Java代码,以实现动态网页的创建。JSP文件在服务器上被编译成Servlet类,然后执行生成动态内容。JSP的核心在于将...
JSP(Java Server Pages)是Java技术中用于创建动态网页的一种标准,它是J2EE(Java 2 Platform, Enterprise Edition)的一部分。JSP的核心在于它能够将静态HTML内容与Java代码相结合,允许开发者在服务器端生成HTML...
使用mindmaster打开
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(JavaServer Pages)是一种基于Java的动态网页技术,常用于构建Web应用程序。在本文中,我们将深入探讨一个基本的JSP登录模块的实现,包括各个关键页面的功能和交互流程。 1. **检查Cookie页面(index.jsp)**: ...
**ACCP5.0 JSP(2):深入理解与应用JSP开发Web应用系统** 在Web开发领域,JavaServer Pages (JSP) 是一种强大的技术,用于创建动态、交互式的网页。本教程将深入探讨JSP的核心概念,理论部分旨在帮助开发者掌握JSP...
总结,JSP分页实现是一个涉及到数据库操作、服务器端逻辑和客户端展示的综合过程。开发者需要理解如何在后台处理分页逻辑,如何将数据传递给前端,以及如何在前端展示分页效果。掌握这些知识后,无论是开发大型网站...
jsp servlet开发总结文档 jsp Servlet总结jsp Servlet总结jsp Servlet总结