JSP总结

JSP

一、概述

JSP全名为Java Server Pages,中⽂名叫java服务器⻚⾯,其根本是⼀个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与⼀起建⽴的⼀种动态⽹⻚技术标准。JSP技术有点类似ASP技术,它是在传统的⽹⻚HTML⽂件(.htm,.html)中插⼊Java程序段(Scriptlet)和JSP标记(tag),从⽽形成JSP⽂件,后缀名为(*.jsp)。 ⽤JSP开发的Web应⽤是跨平台的,既能在Linux下运⾏,也能在其他操作系统上运⾏。

JSP将⽹⻚逻辑与⽹⻚设计的显示分离,⽀持可重⽤的基于组件的设计,使基于Web的应⽤程序的开发变得迅速和容易。


二、JSP中嵌套Java代码

小脚本(<%Java代码%>)

声明标签    <%! 变量或者方法声明 %>
表达式标签  <%= 表达式%> 在页面上显示的效果
程序代码标签 <% Java代码 %> 页面上动态展示内容

page指令:
<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%>

<%-- jsp注释,查看页面源码时看不到 --%>

三、JSP的内置对象

JSP中⼀共预先定义了9个这样的对象,分别为:request、response、session、application、out、
pagecontext、config、page、exception

  • request对象
            request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要⽤于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求⽅式以及请求参数等)。request对象的作⽤域为⼀次请求。

  • response对象
       response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response
    对象也具有作⽤域,它只在JSP⻚⾯内有效。所属类型:HttpServletResponse

  • session对象
       session 对象是由服务器⾃动创建的与⽤户请求相关的对象。服务器为每个⽤户都⽣成⼀个
    session对象,⽤于保存该⽤户的信息,跟踪⽤户的操作状态。session对象内部使⽤Map类来保存数
    据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,⽽不仅仅局限
    于字符串类型。HttpSession

  • application对象
            application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息
    会在整个应⽤中都有效。与session对象相⽐,application对象⽣命周期更⻓,类似于系统的“全局变量”
    ServletContext
    区别:
            request:单次请求
            session:浏览器访问期间(会话期间)
            application:服务器启动期间,所存的数据可以跨浏览器

  • out 对象
       out 对象⽤于在Web浏览器内输出信息,并且管理应⽤服务器上的输出缓冲区。在使⽤ out 对象输出数据时,可以对数据缓冲区进⾏操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

  • pageContext 对象
            pageContext 对象的作⽤是取得任何范围的参数,通过它可以获取 JSP⻚⾯的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP⻚⾯中可以直接使⽤ pageContext对象。

  • config 对象
      config 对象的主要作⽤是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() ⽅法可以获取⼀个config对象。当⼀个Servlet 初始化时,容器把某些信息通过config对象传递给这个Servlet。 开发者可以在web.xml ⽂件中为应⽤程序环境中的Servlet程序和JSP⻚⾯提供初始化参数。

  • page 对象
       page 对象代表JSP本身,只有在JSP⻚⾯内才是合法的。 page隐含对象本质上包含当前 Servlet接⼝引⽤的变量,类似于Java编程中的 this 指针。

  • exception 对象
      exception 对象的作⽤是显示异常信息,只有在包含 isErrorPage=“true” 的⻚⾯中才可以被使⽤,在⼀般的JSP⻚⾯中使⽤该对象将⽆法编译JSP⽂件。excepation对象和Java的所有对象⼀样,都具有系统提供的继承结构。exception 对象⼏乎定义了所有异常情况。在Java程序中,可以使⽤try/catch关键字来处理异常情况; 如果在JSP⻚⾯中出现没有捕获到的异常,就会⽣成 exception 对象,并把exception 对象传送到在page指令中设定的错误⻚⾯中,然后在错误⻚⾯中处理相应的 exception 对象。


四、JSP的指令

JSP指令⽤来设置整个JSP⻚⾯相关的属性,如⽹⻚的编码⽅式和脚本语⾔。

语法格式如下:

<%@ directive attribute="value" %>
directive:指令名称 attribute 属性名 value:属性值

指令名称描述
page定义⽹⻚依赖属性,⽐如脚本语⾔、error⻚⾯、缓存需求等等
include包含其他文件
taglib引入标签库的定义
  • page指令

Page指令为容器提供当前页面的使用说明。

一个JSP页面可以包含多个page指令

Page指令的语法格式:
<%@ page attribute=“value” %>

  • include指令

JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。

Include指令的语法格式如下:
<%@ include file=“⽂件相对 url 地址” %>

include指令中的文件名称实际上是一个相对的URL地址。

如果没有给文件关联一个路径,JSP编译器默认在当前路径下寻找。

  • Taglib指令

JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。
Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。

<%@ taglib uri=“uri” prefix="" %>

url属性去欸的那个标签库的位置,prefix属性指定标签库的前缀(可自定义)。


五、JSP出现的状态码

状态码消息描述
100Continue只有一部分请求被服务器接收 ,但只要没被服务器拒绝,客户端就会延续这个请求
101Switching Protocols服务器交换机协议
200OK请求被确认
201Created请求时完整,新的资源被创建
202Accepted请求被接受,但未处理完
300Multiple Choices一个超链接表,用户可以选择一个超链接并访问,最大支持5个超链接
301Moved Permanently被请求的页面已经移动到了新的URL下
302Found被请求的页面暂时性的移动到了新的URL下
303See Other被请求的页面可以在一个不同的URL下找到
400Bad Request服务器无法识别请求
403Forbidden禁止访问所请求的页面
404Not Found服务器无法找到所请求的页面
405Method Not Allowed请求中所指定的方法不被允许
500Internal Server Error请求不完整,服务器遇见了出乎意料的状况
501Not Implemented请求不完整,服务器不提供所需要的功能
502Bad Gateway请求不完整,服务器从上游服务器接收了一个无效的响应
503Service Unavailable请求不完整,服务器暂时重启或关闭
504Gateway Timeout网管超时
505HTTP Version Not Supported服务器不支持所指定的HTTP版本

六、EL表达式

EL表达式语法
语法格式:${需要展示信息的名字}
注意:
当表达式没有指定变量或者对象的范围时

那么容器会依次从pageContext—>request—>session—>application中查找该变量或对象,我们可以通过隐含对象获得指定作⽤域的值:
pageScope对象,⽤于获取当前⻚⾯的属性值

requestScope对象,⽤于获取请求范围的属性值

sessionScope对象,⽤于获取会话范围的属性值

applicationScope对象,⽤于获取程序范围的属性值

语法:
${requestScope.key}

七、JSTL

JSP标准标签库(JSTL)是⼀个JSP标签集合,它封装了JSP应⽤的通⽤核⼼功能

JSTL⽀持通⽤的、结构化的任务,⽐如迭代,条件判断,XML⽂档操作,国际化标签,SQL标签。 除了这些,它还提供了⼀个框架来使⽤集成JSTL的⾃定义标签

根据JSTL标签所提供的功能,可以将其分为5个类别。核⼼标签 格式化标签 sql标签 xml标签 jstl函数

JSTL的作⽤和语法格式
作⽤:简化jsp⻚⾯编写代码
语法格式:

  1. 下载 jakarta-taglibs-standard-1.1.2.zip 包并解压,将 jakarta-taglibs-standard-1.1.2/lib/ 下的两个 jar ⽂件:standard.jar 和 jstl.jar ⽂件拷⻉到 /WEB-INF/lib/ 下。
  2. 在JSP⻚⾯中引⼊<%@ taglib prefix=”⻚⾯使⽤的名称” uri=”功能范围的路径”%>
功能范围Uri前缀
corehttp://java.sun.com/jsp/jstl/corec
i18nhttp://java.sun.com/jsp/jstl/fmt fmtfmt
sqlhttp://java.sun.com/jsp/jstl/sqlsql
xmlhttp://java.sun.com/jsp/jstl/xmlx
functionshttp://java.sun.com/jsp/jstl/functionfn

核心标签
语法:
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

分类:

  • <c:set> 主要⽤来将变量存储⾄JSP范围中 或是JavaBean的属性或Map对象中
  • <c:out>主要⽤来显示数据的内容
  • <c:remove> 主要负责移除变量
  • <c:if> 主要⽤于进⾏if判断,如果为true,则输出标签体中的内容
  • <c:choose>,<c:when>,<c:otherwise> 作⽤相当于if-else
  • <c:forEach> 循环控制,它可以将数组,集合(Collection)中的成员循序浏览⼀遍。

格式化标签:

  • fmt:formatDate 作⽤:将⽇期类型格式化为指定模式的字符串
  • 、fmt:parseDate 作⽤:⽤于将指定字符串转化为⽇期类型
  • 、fmt:formatNumber 按照指定格式对数字进⾏格式化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值