JSP技术大全集

JSP技术及JSP语法技术 实验一、JSP技术及JSP语法基础 一、实验目的 1 了解MyEclipse 开发环境的构成 2 掌握MyEclipse 下JAVA EE开发环境的设置 3 掌握JSP技术及JSP语法的基础内容 二、实验内容 1.测试简单 jsp 文件: 用任意文本编辑器建立一个 test.jsp 文件, 内容如下: <% out.print("Hello World!"); %> 将test.jsp放在 %catalina_home%\webapps\ROOT... 阅读详情

JSP的起源:

思考:新技术的出现肯定是有原因的,那么为什么JSP会出现呢?

Servlet输出复杂的Html内容非常的麻烦,1、Html标记的内容需要out.println()输出。2、Html内容的双引号都需要转义。开发特别的麻烦,Servlet也不利于维护。

于是,开发人员迫切的希望能有一种技术,既能完成Servlet所能完成的web服务器端的编程功能,又能非常简单的输出动态定制的Html内容。于是sun公司推出JavaServletPage(JSP)技术。

JSP与Servlet的联系:

Servlet和Jsp是实现同一种编程效果的不同的两种实现。Servlet是在java代码中输出Html内容,JSP是让开发人员将普通的java代码镶嵌到Html页面中。JSP是因为Servlet带来的相关问题而诞生的,所以JSP是Servlet的更加高级的拓展,JSP从表面代码看,像是Html文件,但本质上它就是Servlet,因为JSP在web服务器中运行的时候,是先转化为Servlet,再调用转化后的Servlet的方法,把输出的动态的Html内容返回给客户的浏览器。所以只要Servlet能实现的功能,JSP也能实现。

JSP内部运行机制:

注:在我们使用JSP进行开发之前,我们先来了解一下JSP内部的运行机制

当浏览器向web服务器发出请求,要求调用jsp页面,web服务器会根据请求文件的.jsp扩展名知道浏览器请求的是一个JSP文件;web浏览器把这个请求给web容器,web容器会把请求的JSP文件转化为Servlet的源文件,同时对源文件进行编译,生成转化后的class文件。转化和编译的过程发生在JSP文件第一次被浏览器请求的时候,所以第一次调用JSP文件花费更多的时间才能看到内容。


JSP语法:

JSP代码注释:​​​​​​

//     :单行注释(传统java注释,在转化生成的Servlet源文件可以看到注释内容)

/* */ :多行注释(传统java注释,在转化生成的Servlet源文件可以看到注释内容)

<%--    --%>  :JSP特有注释(转化生成的Servlet源文件不包含注释内容)

<!--    -->  :Html注释(一直保留发送到客户端浏览器中)

指令(Directive)标记:(所有的JSP指令的作用范围为当前的JSP页面,使用@符号开始,一共有6个:page、include、taglib、tag、attribute、variable,常用的为前面三个)

Page指令:主要提供当前JSP文件的有关信息,可以在页面的任意位置,一般置于页面开头。

  1. 语法:<%@directive attribut="value" %>

include指令:设置当前JSP页面包含的其他的JSP或者Html文件。语法:<@ include file="relativeURL">

  1. relativeURL为被包含文件的相对路径,如果地址以“/”开始,相对于应用的根目录,如果没有以“/”开始,路径相对于JSP页面。
  2. 包含的过程发生在JSP页面转化为Servlet的时候,这个包含过程是静态的。静态的意思是指被包含的内容是增加到 JSP页面的。如果被包含的额文件是JSP页面,JSP页面中有JSP元素,这些元素会被转化以后再包含到JSP页面中。

taglib指令:设置使用定制标记。

声明(Declaration)标记:声明标记来定义当前JSP页面使用的变量和方法。

  1. 这个标记定义的变量为JSP页面的全局变量,JSP转化为Servlet以后,定义的变量转化为类变量,方法转为Servlet类中的方法。
  2. 语法:<%!     //java code      %>声明区中只能包含属性和方法的声明,不能直接嵌入java代码和使用JSP内置对象。

Scriptlet标记:JSP页面使用的最多的标记。

  1. 此标记可以包含任意多行的java代码。标记中可以定义变量、方法和输出表达式的数值,还可以使用JSP的内置对象。
  2. Scriptlet标记中的代码在JSP页面转化为Servlet的时候,出现在_jspService()方法中。
  3. 语法:<%    //java code    %>

表达式标记:(Exception):通过这个标记直接输出一个表达式的值。

  1. 如果表达式的输出不是String类型,会调用表达式的返回对象的toString()方法。
  2. 语法:<%="exception"%>:“ <% ”和“ = ”之间不能有空格,表达式的结尾不能有“ ; ”号。

动作(action):(动作是特殊的标记,通过一个动作可以实现多行java代码实现的效果。动作标记就是JSP内置的定制标记库的标记。动作标记一共有14个,但是主要使用的动作标记只有5个,分别是:include、useBean、getProperty,setProperty和forward。)

<jsp:include>动作:把指定的静态文件或者动态文件包含到当前的JSP页面中,这种包含为动态的包含方式。

  1. 如果包含的是静态文件(如Html文件),内容直接包含到include动作的指定位置。
  2. 如果包含的是动态文件(如JSP文件),则把调用所包含JSP网页的输出内容插入到输出内容中。
  3. include动作可以传递参数,使用include动作的JSP页面,通过request.getParameter("name")获取包含文件传递的参数值。
    <jsp:include page="/header.jsp">
    <jsp:param name="author" value="zhangsan" />
    </jsp:include>

拓展:include指令与<jsp:include>动作的区别:

  • include指令:include指令标记读入指定页面的内容并把这些内容和原来的页面融合到一起。这个过程发生在JSP转化为Servlet的阶段,最终所合成的JSP文件被Servlet容器转化成Servlet。如果一个JSP页面使用include指令包含了另外一个JSP页面,最终只会产生一个Servlet的Java源文件和一个class文件。
  • <jsp:include>:<jsp:include>动作包含其他JSP页面,其本质是调用了被包含的文件所转化的Servlet对象的jspServlet()方法。也就是说,所包含的JSP文件也对应生成Servlet源文件和class文件。如果一个JSP页面使用include动作包含了另一个JSP页面,一共会产生两个Servlet源文件和两个class文件。通过查看使用include动作的JSP页面生成的Servlet源文件,发现jspService()方法有类似以下的代码:JspRuntimeLibrary.include(request,response,"header.jsp",out,true),表明使用include动作它并没有将包含的SP文件的代码融入自身,只是运行时引入了被包含页面运行后所产生的结果。

<jsp:forward>动作:使用此动作,可以由当前JSP页面转向同一个web应用中的其他html或者JSP页面。

  1. 转向的同时可以传递参数:
    <jsp:forward page="/register.jsp">
    <jsp:param name="author" value="zhangsan" />
    </jsp:forward>
     
  2. 此动作相当于servlet中的容器内转发:request.getRequestDispacher("/register.jsp").forward(request,response);

<jsp:useBean>动作:<操作JavaBeans>

动作例子:<jsp:useBean class="entity.User" id="user" scope="page" />

解释:class属性代表JavaBean的类型,id表示生成的JavaBean对象的名称,JSP页面转换为Servlet文件以后,JavaBean对象成为Servlet中的一个对象。在执行时,Web容器检查此JavaBean是否存在,存在则使用,不存在则创建。scope指定JavaBean对象的有效范围。

<jsp:getProperty>动作:<操作JavaBeans>

动作例子:<jsp:setProperty name="user" property="name" value="zhangsan" />

解释:name属性说明使用哪个JavaBean对象,property属性说明要对JavaBean的哪个属性赋值,value为所赋的值。如果property属性设定为”*“,表示将自动对应JavaBean属性赋值方法进行赋值。

<jsp:setProperty>动作:<操作JavaBeans>

动作例子:<jsp:getProperty name="user" property="name" />

解释:name属性说明使用哪个对象,property说明读取JavaBean的哪个属性。


JSP内置对象:jsp技术中提供就9个隐含的内置对象,内置对象的含义是指这些对象已经由JSP自动生成好了,开发人员在JSP页面不用声明不用构造就可以直接使用的对象。

对象名称对象类型
outjavax.servlet.jsp.JspWriter
requestjavax.servlet.ServletRequest
responsejavax.servlet.ServletResponse
sessionjavax.servlet.http.HttpSession
applicationjavax.servlet.ServletContext
configjavax.servlet.ServletConfig
pagejava.lang.Object
pageContextjavax.servlet.jsp.PageContext
exceptionjava.lang.Throwable

out对象:

调用这个方法的print()和println()方法,将参数内容输出到web服务器传递到客户的浏览器上。out对象具有缓冲功能。

例:<%out.println("hello world")%>

request对象:

request对象封装客户端发出的请求,有关客户端请求的消息都可以通过request对象获取。request与Servlet中的HttpServletRequest用法一样。

例:<%out.println(request.getParammeter("name"));%>

response对象:

response对象封装对客户端响应的内容,利用它可以设定一些要返回给客户端的信息。response对象的用法和Servlet中HttpServletResponse对象用法一样。

例:<%response.sendRedirect("http://www.baidu.com");%>

session对象:

session对象用法与Servlet中的用法完全一样。在一次会话中,我们访问同一个web应用中的Servlet和JSP页面时,所使用的session对象是同一个session对象。

例:<%session.setAttribute("name","zhangsan")%>

application对象:

通过application对象可以获取当前web应用相关的信息。application对象是web应用的封装对象。

作用一:传递参数,通过application对象可以保存跨用户的共享数据,通过application对象保存的数据,所有用户可以共享。例:<%application.setAttribute("name","zhangsan");application.getAttribute("name")%>

作用二:设置context初始化参数。为一个web应用中所有的Servlet和JSP页面设置共享初始值。例:

<context-param>
<param-name>name</param-name>
<param-value>zhangsan</param-value>
</context-param>

取值:<%out.println(application.getInitParamrter("name"));%> 

作用三:使用log()方法记录日志。application对象提供log()方法,实现日志记录功能,在Tomcat服务器中,记录的日志保存在Tomcat根目录的logs目录下。例:<%application.log("记录日志");%>

config对象:

此对象可以获取Servlet设定的信息,用法与Servlet中的ServletConfig对象用法一致。

page对象:

page对象代表当前所在的JSP页面,其作业等同于java编程中的this关键字的作用。

pageContext对象:

其他内置对象都被自动的加入到pageContext对象中,可以通过它获取其他的JSP内置对象。

exception对象:

专门集中处理异常的内置对象。

例:简单异常信息:<%=exception%>     异常的堆栈信息:<%exception.printStrack(new PrintWriter(out))%>

注:jsp的基本知识点总结,读书笔记。

【JSP笔记02】JSP注释、脚本、表达式、JSP三大指令、JSP七大动作的介绍及使用 这篇文章主要介绍JSP中的脚本、注释、表达式等知识点,已经如何在JSP页面中使用Java代码编写程序。 往期文章 目录 一、JSP的注释 注释,我们都知道是啥了,就是解释说明你的代码是干啥的,注释是不影响程序的运行的。 注释最大的作用就是:提高代码的可读性,这样你写的代码给别人看,别人只要看注释就知道,你这个代码是干啥的,有啥功能。。。。。 在JSP页面中,可以使用两种类型的注释,分别是: HTML注释 因为JSP页面可以直接编写HTML代码,所以也支持HTML的注释。 HTML. 阅读详情

相关推荐

OpenCL编译环境配置

在 Linux 系统上配置 OpenCL 开发环境需要安装适当的驱动、运行时和开发工具。

深之JohnChen的专栏 1997

JSP介绍

目录 一、JSP入门 二、JSP 运行原理 1、JSP 技术特点 2、JSP 与 Servlet 区别 三、JSP 的使用 1、JSP 的三种原始标签 2、JSP 原始标签的使用 3、JSP 的指令标签 4、JSP 三大指令 四、JSP 的内置对象 request常用的方法: response常用的方法 session session常用方法 五、JSP四大作用域对象 一、JSP入门 1、JSP技术介绍 为什么会出现JSP(Java Server Pages)技术..

Zxy_zzz的博客 1万+

汽车电子电气架构诊断功能开发全流程解析

文章作者是一位在魔都工作的汽车电子工程师,坚持长期主义,并分享了一段关于“钝感力”的文字,强调面对困境的韧劲和耐力,以及不被外界噪音干扰的重要性。文章详细介绍了汽车电子电气架构(EEA)的诊断功能开发流程,涵盖设计、实现、生产、运维及售后五大环节。作者从技术实现维度展开,详细描述了诊断系统架构设计、供应商功能实现、产线集成与标定、云端数据交互以及售后诊断应用场景。文章还总结了技术演进趋势,包括AI融合、OTA 2.0和区块链应用等,强调了标准化协议与工具链在全链路诊断能力中的重要性。最后,作者鼓励读者相信时

Soly_kun的博客 1219

JavaWeb开发 JSP技术详解

仅为个人学习使用。

,,,,,,, 6609

不用Root也能抓包?Android高版本HTTPS抓包的3种替代方案(含Charles技巧)

本文针对Android高版本HTTPS抓包难题,提供了三种无需Root权限的实战解决方案:利用VirtualXposed等虚拟沙盒环境、配置Postern等系统级代理工具,以及通过修改应用源码或网络安全配置。文章还详细解析了Charles抓包工具在非Root环境下的高级配置与排错技巧,帮助开发者在遵守安全规范的前提下,有效进行网络调试与监控。

http9protocoller的博客 642

服务器被黑?快速检测和识别系统中的恶意进程

在管理服务器时,检测和识别系统中的恶意进程至关重要。本文介绍了使用 `ps`、`top`、`htop` 等系统监控工具,分析日志文件,以及使用 `chkrootkit` 和 `rkhunter` 等安全工具的方法。通过这些步骤,可以有效地检测和处理恶意进程,确保系统的安全和稳定。

_midnight的博客 1416

JSP技术

学习目标 一、JSP概述 二、JSP基本语法 三、JSP隐式对象 学习内容 一、JSP概述 1.1 什么是jsp: 它的英文全称 java server pages ,java服务端页面,它是建立在servlet规范基础上的动态网页开发技术。 java 服务端 页面: 在jsp上可以写java代码,也可以写html标记,它运行在服务器端。 jsp = java + html + jsp自身的一些东西。 为什么会产生jsp技术: 因为在早期没有jsp时,需要servlet向页面写数据,比较麻烦,所以就产生了

m0_55689562的博客 1万+

银河麒麟服务器操作系统V10SP3 U盘安装中“基础软件仓库错误”的排查与修复指南

本文针对在无网络环境下使用U盘安装银河麒麟服务器操作系统V10SP3时,遇到的“基础软件仓库错误”问题,提供了详细的排查与修复指南。核心解决方案是通过进入救援模式,使用lsblk命令确定U盘实际设备路径,并在系统引导时手动添加inst.repo内核参数来指定安装源,从而绕过安装程序的自动探测故障,确保安装流程顺利进行。

ik67890123的博客 1193

JSP详解,看这一篇就够了(含示例)

动作标签为开发者提供了一种方便的方式来控制和管理 JSP 页面的行为。通过使用动作标签,可以轻松地包含其他页面、转发请求、创建 JavaBean 实例、传递参数等,从而使得页面的逻辑更加清晰、易于维护。JSP隐式对象是JSP的重要组成部分,它们提供了对请求、响应、会话、应用上下文等各种Web资源的直接访问,极大地简化了Web应用程序的开发。了解和熟练使用这些隐式对象,是掌握JSP开发的重要一步。JSP是Java Web开发的重要组成部分,适用于创建动态网页。

2301_79858914的博客 2万+

基于STM32设计的智能家居控制系统(华为云)_363

本项目设计并实现了一种基于STM32的智能家居控制系统,融合了语音识别、远程控制、环境监测与安全报警等功能。系统以STM32F103C8T6单片机为核心控制器,集成ESP8266 Wi-Fi模块实现与华为云IOT物联网平台的数据交互,采用MQTT协议进行通信。用户可通过语音识别模块控制风扇、空调、窗帘、卧室灯、客厅灯和电视等家电的开关操作,同时也可通过Android手机APP或Windows电脑上位机进行远程控制。系统还具备温湿度、光照强度、烟雾浓度和火焰检测功能,当检测到异常情况时,自动触发蜂鸣器报警并向

879

马达种类全解析:VCM、Stepper、Piezo 在手机相机中的驱动原理与工程差异

在现代手机影像系统中,马达承担着核心成像组件的动态调节任务,如自动对焦(AF)、光学防抖(OIS)以及变焦调节。目前主流采用三类驱动器件:VCM(Voice Coil Motor)、Stepper(步进马达)、Piezo(压电马达)。不同马达方案在结构复杂度、响应速度、功耗、驱动方式与模组厚度适配等方面差异显著,对成像系统的性能表现有直接影响。本文将结合最新旗舰设备的应用现状,系统剖析这三类驱动马达的工作原理、架构特点与工程应用经验,为工程实践中选型与调试提供参考。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3772

JavaWeb开发(九)JSP技术

当jsp被翻译成servlet的时候,service方法内部有九个对象定义并初始化,这九个对象被称为隐式对象。

qq_36158551的博客 1355

点云体积计算方法之一 附python代码

另外需要注意,这个只适合点云密集分布的场景来计算体积,比如树木扫描的体积;如果只是有表面积扫描的点云,该方法就不能计算整个物体的体积了。通过计算点云所占用的体素的数量来计算点云的近似体积。这是一个非常粗略的近似值,对于复杂的形状可能不准确。

三维点云技术探索 1886

JSP技术简介

一. JSP 简介 JSP全名为Java Server Pages,中文名叫java服务器页面,是一种动态网页开发技术,其根本是一个简化的Servlet设计,它是在传统的网页HTML文件(.htm,.html)中插入Java程序段和JSP标记,从而形成JSP文件,后缀名为(*.jsp)。 二. JSP 技术原理 JSP的工作方式是请求/应答模式,客户端发出HTTP请求,JSP收到请求后进行处理,...

Madeira的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Jsp技术总结

这节我们总结一下Jsp的相关技术。 1. 什么是JSP         JSP即Java Server Pages,它和servlet技术一样,都是sun公司定义的一种用于开发动态web资源的技术。该技术的最大特点在于:写JSP就像写html,但它相比html而言,html只能为用户提供静态数据,而JSP技术允许在页面中嵌套java代码,为用户提供动态数据。 2. JSP原理 1) w

3万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Jsp技术

JSP的运行机制、JSP脚本元素、JSP指令元素、JSP动作元素、JSP九大内置对象JSP的运行机制、JSP脚本元素、JSP指令元素、JSP动作元素、JSP九大内置对象

hyp520520的博客 2158

JSP技术详解

一、JSP介绍和原理JSP全称是Java Server Pages,它和Servlet技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。JSP技术可以解决在Servlet中拼写html内容以及css、js内容十分不

wujingjing_crystal的专栏 4558

【精选】JSP技术知识点大合集

JSP(全称Java Server Pages)Java服务端页面技术,是JavaEE平台下的技术规范。它允许使用特定的标签在HTML网页中插入Java代码,实现动态页面处理,所以JSP就是HTML与Java代码的复合体。JSP技术可以快速的实现一个页面的开发,相比在Servlet中实现页面开发将变得更加容易。

guojiaqi_的博客 446

JSP技术的优缺点介绍

什么是JSP?JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。 网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。 JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问...

weixin_44589334的博客 2058

JSP的标签技术

jsp的标签技术:在jsp页面中最好不要出现java代码,这时我们可以使用标签技术将java代码替换成标签来表示。JSP的标签技术主要有下面四种: jsp标签。 EL表达式。 JSTL标签库。 自定义标签技术。 一、jsp标签sun原生提供的标签,可以直接在jsp页面中使用。这种标签技术在实际使用中用的不是很多。它有很多标签,下面介绍其中的几种标签: 1、标签标签用于把另外一个资源的输出内容插入进当

wujingjing_crystal的专栏 7754

JSP 技术知识点总结

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

lduzhenlin的专栏 2199

Jsp技术介绍

前言 虽然在前后端分离的大潮流中,jsp技术已经是很少被使用了,其中一个重要的原因是jsp展示页面的时候过慢。但是,作为sun官方推出的技术,其中的思想和今天的前端技术十分的相似,很多前端框架都是基于这些思想的。所以,学习一下jsp还是十分有必要的。 Jsp的原理 简单来讲,使用jsp技术,可以将java的代码使用&lt;%%&gt;标签嵌入到html页面当中。 但是,为什么可以这样用...

最高权限比特流 8666
上一篇: 邮件发送程序(添加附件发送)
下一篇: 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
程序员楂楂
博客等级 码龄9年 17粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值