Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

JSP

作者头像
木瓜煲鸡脚
发布于 2019-08-22 08:28:04
发布于 2019-08-22 08:28:04
11.4K00
代码可运行
举报
文章被收录于专栏:Jasper小笔记Jasper小笔记
运行总次数:0
代码可运行

JSP

1.JSP简介

2.JSP标签元素

3.JSP指令

4.标签动作

5.隐式对象

JSP简介

什么是JSP

JSP全名为Java Server Pages

中文名叫java服务器页面

它是在传统的网页HTML文件(*.htm,*.html)中插人Java程序段和JSP标记

后缀名为(*.jsp)。

其根本是一个简化的Servlet设计

为什么要有JSP

直接使用Html文件是没有办法输出Java当中的信息

使用servlet来去输出一个网页非常的麻烦

于是就出现了jsp,又能写html,又能写Java代码

JSP的工作原理

创建JSP默认编码是ISO-8859-1可以去改一下

JSP的本质实际上是Servlet,它在第一次访问时就会被服务器容器翻译成servlet。

路径:apache-tomcat-9.0.22\work\Catalina\localhost\项目名\org\apache\jsp

因此它就是一个Servlet,在全局web.xml中配置了起到翻译功能的文件路径,当请求url是访问jsp时就会启动那个翻译

JSP的组成

静态数据,如HTML

JSP脚本元素和变量

SP指令,如include指令

JSP标签动作

用户自定义标签

JSP标签元素

在JSP当中写Java代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <%java代码%>
   // 内部的java代码翻译到service方法的内部
  <%=java变量或表达式>
   // 会被翻译成service方法内部out.print()


  <%!java代码%>
   // 会被翻译成servlet的成员的内容

JSP注释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--注释内容-->
 // HTML注释\可见范围 jsp源码、翻译后的servlet、页面
  
 "//单行注释  /*多行注释*/"
 // Java注释\可见范围 jsp源码 翻译后的servlet,页面中看不到

<%--注释内容--%>
 // Jsp注释\可见范围 jsp源码可见// 

JSP指令

什么是指令

JSP指令用于设置整个JSP页面的相关信息

以及用于JSP页面与其它容器之间的通信

有哪些指令

page指令:用于设定整个JSP页面的属性和相关功能

contentType

属性指定JSP页面的MIME和编码格式

pageEncoding

属性用来指定JSP文件的编码格式

import

在JSP中引入Java的包和类,多个包之间以逗号隔开

session

指定当前页面是否能获得当前用户的session对象缺省是true如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误

errorPage

如果当前页面发生异常网页会重定向到errorPage所指定的页面进行处理

isErrorPage

允许指定的JSP页面为错误处理页面

language

指定页面中使用的脚本语言种类目前只支持java

extends

用于指定该JSP生成的servlet继承自哪个父类,必须指定包名加类名

buffer

用来设置输出流缓冲区,缓冲区的作用就是为了提高IO性能也就是说减少write的次数

autoFlush

用来指定当输出流缓冲区满了的时候,是否自动刷新缓冲区

isThreadSafe

缺省值为true指定该JSP文件是否支持多线程访问

info

用来设置该jsp文件的介绍信息

isELIgnored

用来标示是否支持EL表达式

多个属性之间使用空格隔开

include指令:表示在JSP编译时插入一个包含文件或者代码的文件,include指令所包含的文件名不能是一个变量url,只能是静态的文件名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ include file="/name.jsp"%>
// 相对于复制其他文件的一段代码 

taglib指令:声明JSP文件使用了标签库。比如:JSP标准标签库、

第三方标签库、自定义标签库

标签动作

页面包含

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
 与include指令不同,它是导入的页面已经在本文件处理了 
 而不是粘贴过来再处理 
*/
<jsp:include page="被包含的页面"></jsp:include>

请求转发

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<jsp:forward page="要转发的资源"></jsp:forward>

隐式对象

jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕

out

out的类型:JspWriterout作用就是想客户端输出内容 out.write()out缓冲区默认8kb可以设置成0 代表关闭out缓冲区内容直接写到respons缓冲区out写的内容写到out缓冲区当中最后再把out缓冲区当中的内容合并到response缓冲区当中

request

得到用户请求信息对象

response

服务器向客户端的响应对象

config

服务器配置,可以取得初始化参数

session

用来保存用户会话的信息

application

所有用户的共享信息,就是servletContext工程上下文

page

指当前页面转换后的Servlet类的实例

pageContext

jsp页面的上下文对象,包含在这个jsp范围内的信息

exception

表示JSP页面所发生的异常,在错误页中才起作用,只有是错误页面的时候,才会有该对象

对于pageContext它和session,request,servletContext一样也是域对象

所以它也有这三个方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
setAttribute(String name,Object obj)
getAttribute(String name)
removeAttrbute(String name)

除此之外它比较特殊的是它还能到其他域存取数据,也就是说只需要这一个对象就可以就可以传递各个参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 /*
 setAttribute(String name,Object obj,int scope)
 removeAttrbute(String name,int scope)
 findAttribute(String name)
*/
// 比如用pageContext给resquet设信息
pageContext.setAttribute("name","zhangsan",REQUEST_scope) ;

// 它是去所有域中去找参数,找到了就停止
// 查找顺序依次从pageContext域,request域,session域,application域中获取属性
findAttribute(String name)

还可以获得其他8大隐式对象

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 比如
HttpServletRequest request = pageContext.getRequest()
HttpSession session = pageContext.getSession()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT那个小笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深圳Java培训:Java零基础学习之掌握JSP技术--【千锋】
JavaServerPages简称jsp,从“server”这个词可以看出,这其实也是一门java服务端技术,其实可以简单的把jsp认为是servlet,一点错也没有。Jsp的实质,就是客户端需要的资源是通过jsp技术动态生成的。
深圳java培训技术
2019/06/20
6020
深圳Java培训:Java零基础学习之掌握JSP技术--【千锋】
JSP/EL/JSTL
一、JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() 3)<%!java代码%> ---- 会被翻译成servlet的成员的内容
用户5927264
2019/07/31
8220
JavaWeb后端入门9—JSP、MVC
作用:代码复现,可以单独写header.jsp、footer.jsp,写其他页面时直接引入
用户6948990
2025/04/03
930
JavaWeb后端入门9—JSP、MVC
JAVAWeb| 详解JSP技术、指令、隐式对象、标签
首先,我们来了解一下JSP这个东东,大家看它的缩写可能有点懵逼,告诉大家全称之后可能会更容易理解,JSP全称:Java Server Page ,直译过来便是爪洼服务页面,当然直译是不行滴。万物之生,必有其因,JSP是为了简化servlet的工作而出现的替代品。
Python进击者
2019/06/21
6000
JAVAWeb| 详解JSP技术、指令、隐式对象、标签
动态资源技术JSP|Java与Html的美好相遇
JSP可以用简单易懂的方式表示为:Html+Java=JSP,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
浅羽技术
2020/12/07
2.2K0
动态资源技术JSP|Java与Html的美好相遇
Web-第十一天 JSP学习
JSP全名是Java Server Pages,它是建立在Servlet规范之上的动态网页开发技术。在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。为了与传统HTML有所区别,JSP文件的扩展名为.jsp。
Java帮帮
2018/07/27
8790
Web-第十一天 JSP学习
java后端开发每天遇到的jsp,了解一下
JSP脚本片断(scriptlet)用于在JSP页面中编写多行Java代码(在<%%>不能定义方法)。语法:<%多行java代码 %>
好好学java
2018/09/21
1.2K0
java后端开发每天遇到的jsp,了解一下
day11_JSP+EL+JSTL学习笔记
    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。
黑泽君
2018/10/11
1.5K0
day11_JSP+EL+JSTL学习笔记
JavaWeb12-JSP, EL表达式,JSTL标签
JSP & EL & JSTL 一.JSP 1. jsp回顾 jsp作用 jsp全称java server pages(java服务器页面),本质是一个servlet.它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp). jsp作用:将内容的生成和显示进行分离 用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内
Java帮帮
2018/03/19
1.8K0
JavaWeb12-JSP, EL表达式,JSTL标签
JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域
前言   前面大概介绍了什么是JSP,今天我给大家介绍一下JSP的三个指令、6个动作以及它的9大内置对象。接下来我们就直接进入正题 一、JSP的3个指令 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 指令用来申明JSP页面的一些属性,比如编码方式,文档类型。我们在servlet中也会申明我们使用的编码方式和响应的文档类型的,而JSP就是用指令来申明。上面我们也说到了一条指令,也就是page指令。 JSP指令格式:<%@
用户1195962
2018/01/18
1.5K0
JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域
JSP笔记
jsp的全称是 java server pages。Java的服务器页面。 jsp的主要作用是代替 Servlet 程序回传 html 页面的数据。 因为 Servlet 程序回传 html 页面数据是一件非常繁琐的事情、开发成本和维护成本都极高。
技术交流
2022/11/18
1.6K0
JSP笔记
jsp必会知识(最全 精美版)
1. :standard.jar 和 jstl.jar 文件拷贝到 /WEB-INF/lib/ 下。
编程张无忌
2021/01/26
7520
jsp必会知识(最全 精美版)
jsp开发技术
一、为什么说JSP也是动态web开发的一项技术呢?这是因为写JSP虽然像是在写HTML,但是JSP允许在页面中嵌套Java代码,或者利用某个标签表示Java代码(EL与jstl)。这就使得我们在写JSP时能够获取请求对象Request和响应对象Response等这样的web开发常用对象,实现与浏览器的交互。
全栈程序员站长
2022/09/06
8870
jsp开发技术
JavaWeb学习总结——JSP中的九个内置对象
时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。
用户6182664
2019/10/22
9700
JSP与EL表达式重点学习笔记(1)
Jsp&el表达式 JSP指令 JSP指令概述 JSP指令的格式:<%@指令名 attr1=”” attr2=”” %>,一般都会把JSP指令放到JSP文件的最上方,但这不是必须的。 JSP中有三大指
Java帮帮
2018/03/19
9750
JSP与EL表达式重点学习笔记(1)
JSP开发基础入门学习1
Tomcat 最后会将 jsp 文件编译后的(.class-字节码文件/.java-类)存放在目录/work/Catalina/localhost/项目名/org/apache/jsp 里面:
全栈工程师修炼指南
2020/10/23
1.3K0
JSP开发基础入门学习1
Servlet-JSP入门
作用:主要作用是代替Servlet程序回传html页面的数据。因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都很高。
全栈程序员站长
2022/09/21
4550
Servlet-JSP入门
JSP面试题都在这里
下面是我整理下来的JSP知识点: 图上的知识点都可以在我其他的文章内找到相应内容。 JSP常见面试题 jsp静态包含和动态包含的区别 jsp静态包含和动态包含的区别 在讲解request对象的时候,我
Java3y
2018/03/15
1.4K0
JSP面试题都在这里
Web阶段:第十二章:JSP动态页面
作者:java_wxid **1.什么是Jsp?** jsp是java server page,java的服务器页面。 2.为什么要学习jsp技术 因为jsp技术可以很好的解决在Servlet程序中回
Java廖志伟
2022/09/28
7700
Web阶段:第十二章:JSP动态页面
Servlet和JSP学习指导与实践(三):JSP助阵
  JSP(Java Server Page)虽然作为一门服务端的语言,但它并没有创新新的语言标准。有些人一接触jsp之后发现易学易懂。实际上,jsp的内部原理仍然是基于Servlet,它是Servlet的补充,而并不是要取代Servlet。本文对JSP的一些概念及基础内容进行了不详尽的总结,希望感兴趣的博友凑合着看~
云海谷天
2022/08/09
4860
Servlet和JSP学习指导与实践(三):JSP助阵
相关推荐
深圳Java培训:Java零基础学习之掌握JSP技术--【千锋】
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验