一 概述
jsp其实就是Servlet的另外一种表达方式,只不过jsp更易于网页设计(表现),在后台jsp页面发送到Web Server
编译成servlet代码。jsp语言实现了可以在页面上编写java代码,利用强大的java语言处理页面展现。
二 JSP基本语法
(1)HTML文件 <H1>Blah</H1>
(2)HTML注释 <!--Blah-->
(3)模板文本
(4)JSP注释:<%-- Blan --%>
(5)JSP表达式:<%= Java Value%>
(6)JSP Scriptlet <% Java Statment %>
(7)JSP声明:<%! Field Definition %> <%! Method Definition%>
(8)JSP指令:
<%@ directive att="val"%>
page,include,taglib,tag.
(9)JSP动作
<jsp:blah>...</jsp:blah>
jsp:include,jsp:useBean,jsp:invoke
(10)JSP表达式语言的元素
${ EL Expression}
(11)定制标签(定制动作)
<prefix:name></prefix:name>
(12)转义的模板文本:<\% %\>
三 JSP脚本元素
预定义变量:
(1)JSP 表达式:
xml:<jsp:expression>Java Expression</jsp:expression>
(2)JSP Scriptlet:可以用于条件判断,输出HTML语句。
xml:<jsp:scriptlet>Java Code</jsp:scriptlet>
(3)JSP 声明:
xml:<jsp:declaration>Field or Method Definition</jsp:declaration>
四 JSP page指令
主要包括page,include,taglib指令。
格式为:<% directive attribute1="value1" %>
(1)page指令:
它允许我们通过类的导入、servlet超类的定制、内容类型的设置、
以及诸如此类的事物来控制servlet的结构。page指令可以放在文档的任何地方。
page指令定义如下属性:
import,contentType,pageEncoding,session,
isELIgored,buffer,autoFlush,info,errorPage,
isErrorPage,isThreadSafe,language,extends.
(2)include指令:允许我们在JSP文件转换到servlet时,将一个文件插入到JSP页面中。
include指令应该放置在文档中希望插入文件的地方。
五 servlet和JSP的集成:MVC架构
MVC步骤:
(1)定义bean来表示数据
(2)使用servlet来处理请求
(3)填写bean
(4)将bean存储到请求、会话或servlet的上下文中
基于应用的数据共享(ServletContex),应该保证提取出的数据与servlet插入数据完全相同(代码同步)。
(5)将请求转发到JSP页面
使用RequestDispatcher的forward不会像sendRedirect那样引入额外的
响应/请求对,客户看到的是初始servlet的URL,而非最终JSP页面的URL.
对于转发的目的页面使用的图像/样式表,<IMG SRC=..>,<A HREF=..>的相对URL,应该相对于servlet的URL或
服务器的根目录,不能相对于目的页面的实际位置(最好直接使用服务器上的完整路径)。
<1>转发到静态资源
转发的请求所使用请求方式与最初的请求相同。(POST,请求只需要把.html修改成.jsp)
<2>用重定向替换转发
*forward行为汇总:
&控制的转移完全在服务器执行,不涉及任何网络数据流。
&用户不会看到新JSP页面地址
&自动保留请求数据
*sendRedirect行为汇总:
&控制的转移通过向客户发送302状态代码和Location响应报头完成。
&用户能看到目前的页面地址。
&不保留请求数据
<3>还可以通过jsp:forward页面转发
<jsp:forward page="URL"/>
<jsp:param name="name" value="value" />“提供额外参数,与jsp:include相同”
<4>RequestDispatcher的include方法包含页面
RequestDispatcher的include方法其实就是<jsp:include>后台的动作。
(6)从bean中提取数据
<1>JSP页面从不创建对象
<jsp:userBean ... type="package.class" />
<2>JSP页面从不应该修改对象
六 JSP表达式语言(EL)
EL语言提供了http相关信息,javaBean,java集合等java元素的更加便利的编码。
(1)精确访问存储对象。
setAttribute("prop"),只需使用${prop}
(2)bean属性的简约记法
${company.president.firstName}
${company["president"]}
(3)对集合元素的简单访问
${arrays[0]}
${maps["key1"]}/${maps.key1}
(4)对请求参数、cookie和其他请求数据的简单访问
pageContex:request,response,session,out,servletContext属性对象
${pageContext.session.id}
param和paramValues
header和headerValues:
${header.Accept},${header["Accept-Encoding"]}
cookie:${cookie.userCookie.value}/${cookie["userCookie"].value}
initParam(context initialization parameter):${initParam.defaultColor}
pageScope,requestScope,sessionScope,applicationScope:
${requestScope.name}
(5)一组为数不多但有效地简单运算符
运算符号:加减(+,-),乘除(*,/和div),括号,取模(%和mod)
如果是字符串自动解析成数字;
如果任一操作数为BigInteger,BigDecimal则使用相应的add,subtract方法。
关系运算:与java运算符相同。(==,!=,<,<=,>=,>)
<1>==(eq)和!=(ne):
更相当于java equlas方法,对象判断引用,数值进行值比较;
如果任一操作数为null,eq返回false,ne返回true;
如果任一操作数为BigInteger或BigDeciaml,使用compareTo比较,否则用equals比较
<2>其它:
首先类型转向的执行都与eq和ne相同,如果参数为字符串,则进行字面比较
逻辑运算符号:与java相同(&&,||,!)
空运算符:empty 验证控制(字符串,对象,数组是否为空或null)
(6)条件性输出
${ test? expression1:expression2 }
分享到:
相关推荐
《Core Servlets and JavaServer Pages: Volume 1》是一本深度探讨Servlet和JavaServer Pages(JSP)技术的专业书籍,对于理解Web开发的基础至关重要。Servlet是Java编程语言中用于扩展服务器功能的Java类,而JSP则...
《Core Servlets and JavaServer Pages:Volume 1》是一本深度探讨Servlet和JavaServer Pages(JSP)技术的经典著作,其源代码包含了丰富的实例和练习,帮助读者深入理解这两种技术的核心概念和应用。以下是该书涉及...
《Servlet与JSP核心编程第二版第一卷》(Core Servlets and JavaServer Pages Volume 1, 2nd Edition)是一本深入讲解Servlet与JSP技术的专业书籍。本书通过作者Marty Hall亲自开发并教授的课程,为读者提供了丰富的...
《核心Servlets与JavaServer Pages(第1卷 第2版)》是一本深入探讨Java Web开发技术的经典著作,尤其聚焦于Servlets和JavaServer Pages(JSP)的技术细节与实践应用。本书由Prentice Hall和Sun Microsystems Press...
Pages, Volume 1: Core Technologies, covers the servlet and JSP capabilities that you are likely to use in almost every real-life project. This book, Volume 2: Advanced Technologies, covers features ...
《核心Servlets与JavaServer Pages高级技术》第二版是一本深度探讨Servlets和JavaServer Pages(JSP)的书籍,由Marty Hall、Larry Brown和Yaakov Chaikin三位作者共同编写。本书作为该系列的第二卷,专注于高级技术...
Prentice Hall Core Servlets And Javaserver Pages Advanced Technologies Volume 2.2Nd Edition Dec 2007.pdf volume II, 2008年出版, pdf格式, 英文, ISBN:0-13-148260-2 Servlet 2.4/JSP 2.0
《Core Servlets and JavaServer Pages Volume 2》是关于Web应用程序开发的一本经典教程,主要聚焦于Servlets和JavaServer Pages(JSP)的高级技术。这本书的第二版提供了全面而深入的指导,帮助开发者掌握这两项...
Servlet与jsp核心技术第二版上下卷合订本,其中第二卷为2007年出版的.part1
Servlet与jsp核心技术第二版上下卷合订本,其中第二卷为2007年出版的。英文原版。(分卷2)
《核心Servlets与JavaServer Pages高级技术》第二版是一本深度探讨Servlets和JavaServer Pages(JSP)的书籍,由Marty Hall、Larry Brown和Yaakov Chaikin三位作者共同编写。本书作为系列的第二卷,专注于高级技术,...
Servlets和JSP核心技术 卷2 内容还是很详细的,看过卷1的人可以继续用这本书深造,呵呵 目录: Chapter 1. Using and Deploying Web Applications Section 1.1. Purpose of Web Applications Section 1.2. ...
Prentice.Hall.Core.Servlets.and.JavaServer.Pages.Advanced.Technologies.Volume.2.2nd.Edition.Dec.2007.chm chm版的方便查询,有3个包 sun官方servlet&jsp进阶版 需要的同学就下吧
Prentice.Hall.Core.Servlets.and.JavaServer.Pages.Advanced.Technologies.Volume.2.2nd.Edition.Dec.2007.chm chm版的方便查询,有3个包 sun官方servlet&jsp进阶版 需要的同学就下吧
Prentice.Hall.Core.Servlets.and.JavaServer.Pages.Advanced.Technologies.Volume.2.2nd.Edition.Dec.2007.chm chm版的方便查询,有3个包 sun官方servlet&jsp进阶版 需要的同学就下吧
同时,本书的两个文件名——"Prentice.Core.Servlets.And.Java.Server.Pages.Volume.1.Core.Technologies.2nd.Edition.chm"和"Core+Servlets+and+JavaServer+Pages%28Advanced.Technologies.Volume.2.2nd.Edition%29...
10. **参考书籍**:《Core Servlets and JavaServer Pages: Volume 1: Core Technologies》第二版是一本不错的入门教材,可以帮助你系统地学习JSP和Servlet。 学习JSP的过程可能涉及大量实践,建议通过创建小项目来...
JSP是一种如日中天的新型Internet/Intranet开发语言,可以在多种操作系统平台和多种Web服务器下使用。本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中...
- **《Core Java Volume I: Fundamentals》**: 该书覆盖了Java的基础知识,是学习Java的好选择。 - **JDK文档**: 官方文档是学习Java的重要资料,它详细介绍了Java的各种API。 #### 五、学习路径建议 1. **入门...