JSP知识点小结

JSP第一章知识点总结——JSP基础 JSP第一章知识点总结——JSP基础 知识点预览 一.JSP简介 二.配置运行HelloWorld.jsp 三.JSP语法和语义 四.JSP脚本元素 五.JSP注释 六.JSP隐式(内置)对象   一.JSP简介   a)         Servlet的缺陷  i.          Servlet的编码、部署和调试任务繁琐 ii. 阅读详情

JSP 知识点可以用“23379”来概括,即两种注释,三种指令,三个脚本元素,七个动作,九个内置对象。具体如下:

两种注释: 一种是HTML的注释,用于描述JSP页面执行后的结果页面的功能:<!--   -->:可以在客户端显示,查看HTML文件时可以显示
一种是JSP本身的,用来描述JSP代码的:<%--   --%>:只在源代码中显示,在客户端不可以显示

三种指令

age指令:描述了和页面相关的指示信息。在一个页面中,page指令可以出现多次,但是每一种属性只能出现一次(除了import属性),重复的属性设置将覆盖先前的设置。
<%@page language=" "  session="true|false"  erroPage=" "  isErrorPage="
import=" "...%>
在一个JSP文件中可以定义多个page指令,但不可以多次指定同一属性,除了import属性。
记住:在JSP中缺省导入的包有java.lang javax.servlet javax.servlet.http javax.servlet.jsp.
session属性的缺省值是true,如果指定session="false",则session隐含变量未定义,使用时将引起错误。


include指令:用来包含另一个文件
<%@include file=" "%>  :将指定的JSP程序或者HTML文件包含近来

taglib指令:用来指示这个JSP页面所使用的标签库
<%@ taglib uri=" " prefix=" " %>

三个脚本元素

声明:页面范围的变量和方法的声明,被声明的变量和方法将在JSP页面初始化时初始化。
<%! ...%>
实际上,声明变量和方法的语句完全可以放在脚本中<%   ... %>,两者的区别是在生成的servlet中写入代码的位置,放在<%! ...%>中的声明语句在编译为Servlet的时候将作为类的成员(在_jspService()方法之外)而存在,而放在<%   ... %>中的声明将放在_jspService()方法内部被声明。因此在声明中声明的变量是全局的,在脚本中声明的变量是局部的。因此在声明中声明的变量对脚本,表达式,HTML都是可见的,但在脚本中声明的变量仅在脚本范围内可见。在声明中可以:
变量声明:小心变量的写权限,因为servlet默认是多线程的。
方法定义:因为生成的代码不在_jspService()方法中,所以它没有权限访问内置对象,如果要  使用它们,必须将之显式传递到方法中。
内部类定义:内部类式解决类型安全方式中的方案之一

脚本(Scriptlet):嵌入页面内的JAVA程序片段
<%   ... %>
在脚本中使用的式JAVA中的语法。
Scriptlet代码成了Servlet中_jspService()方法的一部分
而上面声明中的代码是在_jspService()方法之外(作为类的成员)与生成的源文件合成一体。
注意Scriptlet,表达式,HTML代码全部集成到_jspService()方法中。

表达式:把表达式变成String类型以便于包含在页面的输出中
<%=...%>
注意表达式一定要有一个可以输出的值才可以。

七个动作

动作可以影响输出的文本流,使用编辑建立对象。
id属性和scope属性式每一个JSP动作都具有的属性,其中id表示一个动作的名称,而scope表示一个动作的作用域。
scope作用域的取值有:
page:由javax.servlet.jsp.PageContext得到在用户请求次页面过程中有效
request:由ServletRequest.getAttribute(name)得到在用户的整个请求过程中有效
session:由HttpSession.getValut(name)得到在用户的整个会话期有效
application:由ServletContext.getAttribute(name)得到在WEB应用程序执行期间有效

<jsp:useBean> </jsp:useBean>  :是JSP中最重要的一个动作,它可以动态使用JavaBeans组件来扩充JSP的功能。
<jsp:setProperty> </jsp:setProperty> :用于向一个JavaBean的属性赋值。注意在这个动作中使用到的name属性的值将是一个前面已经使用<jsp:useBean> 动作引入的JavaBean的名字。
<jsp:getProperty> </jsp:getProperty> :用于从一个JavaBean中得到某个属性的值,无论原来这个属性是什么类型的,都将被转换成一个String类型的值。

<jsp:include page=" "> </jsp:include>:用于引入一个静态或动态的页面到JSP文件中,该动作可以包含一个或几个<jsp:param> 子动作用于向要引入的页面传递参数。

<jsp:forward page=" "> </jsp:forward>:用于引导客户端的请求到另一个页面或者是另一个Servlet中去。该动作可以包含一个或几个<jsp:param> 子动作用于向要引入的页面传递参数。
当<jsp:forward>动作发生的时候,如果已经有文本被写入输入流而且页面没有设置缓冲,那么将抛出IllegalStateException异常。

<jsp:param name=" " value=" "/>:常常是作为<jsp:include >,<jsp:forward>,<jsp:plugin> 的子动作使用。

<jsp:plugin type="applet|javabean">  </jsp:plugin>:用的较少,它提供了一种在JSP文件种嵌入客户端运行的JAVA程序(如:APPLET,JAVABENA)的方法。

九个内置对象

内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用

out:javax.servlet.jsp.JspWriter类型,代表输出流的对象。作用域为page(页面执行期)

request:javax.servlet.ServletRequest的子类型,此对象封装了由WEB浏览器或其它客户端生成地HTTP请求的细节(参数,属性,头标和数据)。作用域为request(用户请求期)。
方法由:
java.lang.String getHeader(java.lang.String name)
 java.util.Enumeration getHeaderNames()
 HttpSession getSession() 
java.lang.String getParameter(java.lang.String name)
 java.util.Enumeration getParameterNames() 
void setCharacterEncoding(java.lang.String env) 
java.lang.Object getAttribute(java.lang.String name) 
java.util.Enumeration getAttributeNames() 
void removeAttribute(java.lang.String name) 

response:javax.servlet.ServletResponse的子类型,此对象封装了返回到HTTP客户端的输出,向页面作者提供设置响应头标和状态码的方式。经常用来设置HTTP标题,添加cookie,设置响应内容的类型和状态,发送HTTP重定向和编码URL。作用域为page(页面执行期)。
方法有:
void sendRedirect(java.lang.String location)
 boolean isCommitted() 
 void setStatus(int sc)
 void setHeader(java.lang.String name, java.lang.String value) 
void addHeader(java.lang.String name, java.lang.String value)
 
pageContext:javax.servlet.jsp.PageContext(抽象类)类型,作用域为page(页面执行期)。此对象提供所有四个作用域层次的属性查询和修改能力,它也提供了转发请求到其它资源和包含其他资源的方法:
该对象的方法都是抽象方法

session:javax.servlet.http.HttpSession类型,主要用于跟踪对话。作用域session(会话期—)。HttpSession是一个类似哈希表的与单一WEB浏览器会话相关的对象,它存在于HTTP请求之间,可以存储任何类型的命名对象。
如果不需要在请求之间跟踪会话对象,可以通过在page指令中指定session="false"
方法有:
java.lang.Object getAttribute(java.lang.String name)
java.util.Enumeration getAttributeNames() 
void setAttribute(java.lang.String name, java.lang.Object value) 
 long getCreationTime() 
 java.lang.String getId() 
需要记住的是pageContext对象也可以与session.getAttribute(),session.setAttribute()一样的方式取得并设置会话属性。

application:javax.servlet.ServletContext类型,servlet的环境通过调用getServletConfig().getContext()方法获得。作用域是application(整个程序运行期)。它提供了关于服务器版本,应用级初始化参数和应用内资源绝对路径,注册信息的方式
方法有:
java.lang.String getRealPath(java.lang.String path) :获取应用内资源绝对路径
 java.lang.String getServerInfo()  :获取服务器信息
java.lang.String getInitParameter(java.lang.String name) :获取应用级初始化参数
 java.util.Enumeration getInitParameterNames() 
java.lang.Object getAttribute(java.lang.String name) 
void setAttribute(java.lang.String name, java.lang.Object object)  //这两个方法同seesion中的方法有一样的作用,只不过它跟踪的会话信息的范围更大了,是整个application.在实际应用中,根据需要选择使用哪个进行跟踪会话。

config:javax.servlet.ServletConfig,作用域为page(页面执行期)

exception:java.lang.Throwable,通过JSP错误页面中一个catch块已经益出但没有捕获的java.lang.Throwable的任意实例,传向了errorPage的URI。作用域为page(页面执行期)。注意exception只有在page指令中具有属性isErrorPage="true"时才有效。

page:java.lang.Object类型,指向页面自身的方式。作用域为page(页面执行期)

(完)

jsp考试知识点整理 jsp考试知识点整理 1.简述request对象和response对象的作用: (1) Request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。 (2) Response对象用于响应客户端请求,向客户端输出信息。 2.<jsp:useBean>的指令上存在了一个scope属性,表示的是一个JavaBean的保存范围,保存的范围一共是4种: (1)page(保存在一页的范围之中,跳转之后此JavaBean无效); (2)request(一个JavaBean对象可以保存 阅读详情

相关推荐

Qt中多线程的使用(一)

我们要实现的是读取大文件qtgui.index的内容加入文本框中。 很容易想到的方法: QFile* file = new QFile("E:\qtgui.index"); file-&gt;open(QIODevice::ReadOnly); QTextStream *stream = new QTextStream(file); while(!st...

yao5hed的专栏 1万+

java.util.Enumeration接口

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

zccst的专栏 9297

VMware ubuntu虚拟机(或Centos7)与主机共享文件夹

系统环境 Windows 10 Vmware Workstation 15 Pro Ubuntu 20.04.1 LTS centos7 1.Ubuntu配置共享文件 1.1安装VMware-tools 更新最新VMware-tools组件 编辑->首选项->更新->立即下载所有组件 安装VMware-tools 虚拟机->安装VMware-tools 安装后ubuntu会加载一个虚拟光驱,解压文件,在解压的文件目录下执行以下命令进行安装 sudo vmware-instal

weixin_38924500的博客 2160

Java 获取Enumeration类型的集合方法

创建一个Enumeration集合: 今天看到老师上课用到了下述的第二种方法,然后也提到了第一种方法,我感觉还是有必要记录一下,以后还会记录更过。 说明: 我们知道Enumeration是一个接口,但是往往我们在开发中

蹦跶的小码哥 1万+

PCB设计中的规则优先级陷阱:为什么你的过孔总是十字连接?

本文深入解析PCB设计中Altium Designer规则优先级机制,解决过孔总是十字连接而非全连接的问题。通过分析铺铜连接原理和规则匹配逻辑,提供精确控制连接方式的技术实践,包括Custom Query使用和优先级最佳设置,帮助设计师避免常见陷阱,优化高速电路板的电气性能和制造可靠性。

banana的博客 467

STRING数据库的蛋白质相互作用(PPI)网络分析

在转录调控相关的文献中,我们经常能够看到这样的蛋白质相互作用网络(protein protein interaction network,PPI network)。具体而言,这些相关的文献中首先通过RNA-seq、表达谱芯片或者蛋白质组分析等,找到了在不同分组样本间一系列的差异表达基因或蛋白。

weixin_43029125的博客 9450

JSP的7个动作指令

JSP的7个动作指令 JSP动作指令主要是一组动态执行的指令,以标记的形式使用。与编译命令不同,动作指令是运行时候的动作脚本,JSP的7个动作指令分别如下: jsp:forward 执行页面转向,将请求的处理转发到下一个页面。 jsp:param 用于传递参数,必须与其它支持参乎的标记一起使用。 jsp:include 用于动态引入一个JSP页面。 jsp:plugin 用于下载JavaBean或Applet到客户端执行。 jsp:useBean 使用JavaBean。 jsp:setProperty 设置

nuist_NJUPT的博客 1522

使用amp训练出现Detected call of lr_scheduler.step() before optimizer.step().

这个警告是怎么产生的?是由于在算梯度的时候出现了nan,所以这一次更新会跳过,但是参数仍旧会更新所以出现了问题,按下面的做法加一个判断就行了。但是在使用amp进行混合精度训练出现的一个warning,调换代码顺序也不work。正常在训练的时候,对于优化器和参数更新的顺序这样就可以了。

weixin_46214675的博客 1306

JSP语法

  1.JSP概述 JSP是一种用于开发包含动态内容的web页面技术,它是服务端的脚本语言,本质上就是一个servlet。因为jsp将会被翻译成servlet来运行。因此jsp的使用降低了使用servlet开发的难度。但是与servlet相比,jsp在以下几个方面仍然较servlet有所擅长。 Jsp可以让输出阅读和维护HTML更为容易,在servlet仍然需要大量的out.print()语...

阿璐4r的博客 355

vue2/3 - 详细实现高德地图轨迹回放,vue高德地图车辆历史行驶轨迹播放,在地图上绘制行程轨迹|起点和终端的路程绘制|用户运动轨迹绘制及播放等(支持开始/暂停、进度条拖放、控制播放轨迹的倍速等)

vue2,vue3,nuxt,高德地图,轨迹,vue高德地图轨迹回放,历史轨迹回放,轨迹回放功能支持倍速及进度条拖拽,VUE高德地图轨迹回放、倍速调整、进度条拖拽,vue3高德地图轨迹回放,Vue实现地图路径回放,vue中使用高德地图实现历史轨迹回放并能控制播放轨迹的倍速,多条轨迹陆续播放,巡航轨迹做带进度条和倍速的轨迹回放,Vue高德地图路径回放,历史轨迹回放并能控制播放轨迹的倍速,使用高德地图实现轨迹播放和进度条控制,vue高德地图如何实现轨迹回放,高德地图做轨迹绘制用什么api,高德轨迹API,驾车轨

✅ 精选推荐文章 1万+

Android 13.0 SystemUI下拉状态栏背景增加高斯模糊背景

在13.0的产品开发中,发现现在很多产品都是高斯模糊背景的,这种高斯模糊背景看起来效果很不错,产品开发需要SystemUI下拉状态栏背景也是高斯模糊背景,所以就要来实现下拉状态栏高斯模糊背景

安卓兼职framework和app工程师的博客 2670

jsp知识点小结

jsp知识点小结

bird_tp的博客 333

Python数据分析师必备:OpenClaw开启Pandas清洗脚本自动生成新时代

本文介绍了OpenClaw这一AI智能体框架如何帮助Python数据分析师高效完成数据清洗工作。OpenClaw通过自然语言交互理解用户需求,自动生成Pandas清洗脚本,显著提升了数据清洗效率,降低了技术门槛。文章详细阐述了OpenClaw的工作原理、实战应用步骤及其在电商、金融、医疗等行业中的成功案例。相比传统手动编写脚本方式,OpenClaw能快速生成规范准确的清洗代码,使数据分析师能更专注于业务洞察。该工具为数据驱动决策提供了可靠支持,是数据分析领域的重要创新。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 230

JSP相关知识点小结

1.JSP 和 servlet 有什么区别? JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式。servlet 和 JSP 最主要的不同点在于: servlet的应用逻辑是在 Java 文件中,并且完全从表示层中的 html 里分离开来, 而JSP的情况是Java和html可以组合成一个扩展名为 JSP 的文件。 JSP 侧重于视图,servlet主要用于控制逻辑。 ...

kuaimeidong的博客 219

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jsp中作用域知识点小结

gongzhonghua的博客 259

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

JEE_知识点小结2_JSP_Servlet

//JSP引擎的工作原理: 当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤: 1)将JSP页面翻译成一个Servlet,这个Servlet是一个Java类,同时也是一个一个完整的Java程序 2)JSP引擎调用Java编译器对这个Servlet进行编译,得到字节码文件class。 3)JSP引擎调用Java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端。 ...

weixin_34378922的博客 137

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java学习知识点小结13(JSP,EL表达式,JSTL标签库,文件上传下载)

JSP是运行在服务端的语言 实际上是被tomcat编译成serlvet程序 1.JSP脚本 声明脚本(声明类属性,static代码块,类方法,内部类):<%! java声明代码 %> 表达式脚本(在jsp页面输出数据):<%= 表达式 %> 所有的表达式都会被翻译到_jspService()方法中,本质还是用out.print()输出到页面 代码脚本(在jsp页面编写需要的...

Hsiao99的博客 387

JSP基本语法小结

一、JSP运行原理: 当浏览器向Web应用服务器请求一个JSP页面时,Web应用服务器将其转换为一个Servlet文件(即一个.Java文件),然后将这个Java文件编译成一个字节码文件(.class文件),最后Web应用服务器加载转换后的Servlet实例,处理客户端的请求,

2232

JSP常用知识点整理

目录 1.什么是JSP 2. JSP为什么会出现 3.JSP中如何嵌套java代码 4. JSP的原理 5. JSP的内置对象 6. JSP的指令 7. JSP出现的状态码 8. EL表达式 9. JSTL 1.什么是JSP JSP全名为Java Server Pages,中⽂名叫java服务器⻚⾯,其根本是⼀个简化的Servlet设计。 在HTML⽂件中插⼊Java程序段和JSP标记(tag),从⽽形成JSP⽂件。 ⽤JSP开发的Web应⽤是跨平台的,既能在...

你好啊cbw 1728

jsp语法与jsp基本知识点

【jsp基本知识点】 JSP全称是Java Server Pages,它和servlet技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。 JSP/Servlet规范。 JSP实际上就是Servlet JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

兰枫 8659

JSP知识点总结

本片博客总结一下这学期学得JSP知识点。1、简述请求转发与请求重定向的区别。请求转发:请求转发,即request.getRequestDispatcher().forward(),是一种服务器的行为,客户端只有一次请求,服务器端转发后会将请求对象保存,地址栏中的URL地址不会改变,得到响应后服务器端再将响应发给客户端;请求重定向:请求重定向,即response.sendRedirect(),是一种

曹学成的博客 622

JSP知识点

内置对象是在JSP页面中无需创建就可以直接使用的变量。在JSP中一共有9个这样的对象!out:最为常用的方法是print(),向页面输出!它与response.getWriter()基本相同!config:在页面中基本没有什么用,但如果JSP在web.xml中存在配置,而且存在初始化参数,那么可以使用config来获取;config对象的功能是:getServletContext()、getServletName()、getInitParameter(),这三个方法在JSP中都没什么用。

weixin_47480200的博客 1079

JSP 技术知识点总结

目录 一.什么是JSP 二.JSP调用和运行原理(简略版) 三.JSP语法 四.JSP 指令-Page指令 五.JSP 指令-Include指令 六.JSP 指令-taglib指令 七.JSP 动作 八.JSP九大内置对象 九.JSP九大内置对象-PageContext对象 十.JSTL标签 1、什么是JSTL? 2、JSTL标签库: 3、使用taglib指令导入标签...

lduzhenlin的专栏 2199

JSP小结

JAVA SERVER PAGEJSP本身就是Servlet所以具有Servlet的所有优点。JSP在JSP第一次被访问时转换为Servlet。extends HttpJspBase并将其编译成.class。JSP:性能优良平台无关tag可拓展NEWS:JSTLJSF标签语法,是新推出的。便于处理的简单的标签语法。Grammers:1.declaration2.scriptle

魏照哲的专栏 981

JSP和servlet知识点总结

第一章- 动态网页开发基础 三大领域:B/S (网站)C/S(QQ) 嵌入式开发(苹果,安卓手机) 动态网页/静态网页: 所需技术:htm,css,数据库,javascript,xml,一门高级语言(java,C#,PHP) 主流的动态网页技术:jsp/asp.net/php Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,[1

懵逼循环 6386
上一篇: 会话跟踪的四种方法
下一篇: Java程序员的10条戒律
andyjava2006
博客等级 码龄20年 1粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值