我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Web中Jsp说什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Web中Jsp说什么

这篇文章主要为大家展示了“Web中Jsp说什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Web中Jsp说什么”这篇文章吧。

Web基础了解版-Jsp

Jsp

 Jsp全称Java Server Pages,也就是在我们JavaWeb中的动态页面。

Jsp能够以HTML页面的方式呈现数据,是一个可以嵌入Java代码的HTML。

Jsp其本质就是一个Servlet。Servlet能做的事情JSP都能做。

Jsp必须运行在服务器中,不能直接使用浏览器打开。

Jsp是Web网页的技术标准,主要语法组成包括:指令,html模板元素,脚本片段(小脚本),表达式,声明,注释,后缀是*.jsp。

Jsp主要负责显示及获取数据

Jsp是动态页面,html是静态页面 

  动态页面 静态页面
运行原理 通过服务器解析后,将数据在浏览器中显示 直接在浏览器中解析运行
维护成本 较低,可以修改后台数据,进而影响页面中的数据 较高,必须将修改后的页面覆盖原页面
数据库 可以连接数据库 不可连接数据库
访问速度 较慢 较快
书写代码 可以书写java代码 不能书写java代码

注意事项

1、jsp页面是一个类似于html的一个页面。 jsp直接存放到WebContent目录下,和html一样访问jsp的时候,也和访问html一样

2、jsp的默认编码集是iso-8859-1,修改jsp的默认编码为UTF-8

JSP运行原理

  • 实际上Tomcat在运行JSP时,并不是直接显示的我们所编写的JSP页面,而是将JSP页面转换成了一个Java类,它实际上就是一个Servlet。

  • 让我们来找到那个目录,对于Eclipse来说是在:工作空间下,右键Tomcat服务点击Browse Deployment Location...

  • 在work目录下的...work\Catalina\localhost\day07_jsp\org\apache\jsp文件夹中

  • 打开index_jsp.java文件查看里面的内容:发现,生成的类继承于HttpJspBase类。这是一个jsp文件生成Servlet程序要继承的基类!并且这个HttpJspBase类继承于HttpServlet类。

  • 那么当我们访问 一个xxx.jsp文件后翻译成java文件的全名是 xxx_jsp.java文件。

  • 在tomcat下的conf目录中的web.xml配置好了JSP的映射信息

以后在访问同一个jsp文件

  • 如果文件未改变,不会被翻译和编译

  • 如果文件改变,会翻译和编译

Jsp基本语法

指令

  • 语法格式:<%@ %>

  • 三大指令:<%@ page %> ,<%@ include %> ,| <%@ taglib %>

模板元素

  • html&css&js&jQuery等...

代码脚本片段

  • 格式 :<%%>

  • 作用:在_jspService()方法中,书写java代码。

<% int i = 0;%>

表达式

  • 格式: <%=%>

  • 作用:将数据显示到页面,与out.print()作用相同。

 <%=i%>

声明

  • 格式:<%!%>

  • 作用:在翻译后的class helloworld_jsp这个Servlet类中,书写java代码。

注释

  • java:单行注释://,多行注释:

  • html:<!-- -->

  • jsp:<%-- --%>

  JSP注释 Java注释 HTML注释
JSP页面 可见 可见 可见
Java代码 不可见 可见 可见
浏览器 不可见 不可见 可见

Jsp常用指令

语法格式

  • <%@ 指令名 属性=属性值 属性2=属性值2 ... %>

page指令
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

属性

  • language:语言,值为java且仅java。

  • contentType:与response.setContentType()作用一致,设置浏览器编码。

  • pageEncoding:设置Jsp页面的编码字符集。

  • import:导包

  • isErrorPage:设置当前页面是否为错误页面,默认值"false"。

    • true:设置当前页面为错误页面,可以使用exception内置对象,捕获异常 。

    • false:设置当前页面不是错误页面,不可以使用exception内置对象,捕获异常 。

  • errorPage:设置当前页面错误时的跳转目标页面。错误需要在_jspService()中才可以捕获。

include指令:静态包含
<%@include file="被包含文件的路径" %>
  • 作用:将目标文件包含到当前文件中。

  • 特点:被包含的文件不会被翻译&编译。(先包含,再翻译)

taglib指令
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • 属性

    • prefix用来指定前缀名,我们通过该名来使用JSTL。

    • uri相当于库的唯一标识,因为JSTL由多个不同的库组成,使用该属性指定要导入哪个库。

  • 作用:引入标签库。

Jsp动作标签

JSP动作标签与HTML标签不同,HTML标签由浏览器来解析,而JSP动作标签需要服务器(Tomcat)来运行。

转发动作标签

作用:在页面中用于转发操作

<jsp:forward page="target.jsp"></jsp:forward>

转发子标签;在转发时设置请求参数,通过request.getParameter()在目标页面获取请求参数。

<jsp:forward page="target.jsp">
    <jsp:param value="paramValue" name="paramName"/>
</jsp:forward>

注意:如果转发动作标签不需要设置请求参数,该标签开始与结束标签内部,不允许书写任何内容,(包括空格)

动态包含动作标签

作用:动态包含,将其他页面包含到当前页面中。

<jsp:include page="target.jsp"></jsp:include>

特点:被包含的文件同时会被翻译&编译。(先翻译,再包含)

  • 本质原理:当使用动态包含时,Tomcat会在生成的Servlet中加入如下代码:

org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "target.jsp", out, false);
动态包含与静态包含的区别
  @include指令 jsp:include标签
特点 静态包含 动态包含
语法的基本形式 <%@ include file=”&hellip;”%> <jsp:include page=”&hellip;”/>
包含动作发生的时机 翻译期间 请求期间
是否生成java文件 不生成 生成
合并方式 代码复制 合并运行结果
包含的内容 文件实际内容 页面输出结果
代码冲突 有可能 不可能
编译次数 1 包含的文件 + 1
适用范围 适用包含纯静态内容(CSS,HTML,JS),或没有非常耗时操作。或大量java代码的jsp 包含需要传递参数。含有大量java代码,运算,耗时很长的操作。

Jsp九大隐式对象

JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明

pageContext
  • 类型:PageContext

  • 定义:代表页面域对象,用来代表整个JSP页面。

  • 作用:

    1. 页面域对象

    2. 九大隐式对象的“大哥”,可以直接调用其他八大隐式对象。

  • 在Servlet中获取方式:无。

  • 类型:HttpServletRequest

  • 定义:代表浏览器向服务器发送的请求报文,该对象由服务器创建,最终以参数的形式发送到doGet()和doPost()方法中。

    每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。

  • 作用(详见Servlet中request对象)

    1. 获取请求参数

    2. 获取url地址参数

    3. 请求转发

    4. 向请求域中保存数据(获取数据&移除数据)

    5. 获取请求头信息

  • 在Servlet中获取方式:doGet()或doPost()中直接使用。

session
  • 类型:HttpSession

  • 定义:代表浏览器与服务器之间的会话。

  • 作用

    session对象用来跟踪在各个客户端请求间的会话。

    • 会话域对象,

application
  • 在Servlet中获取方式 :request.getSession();

  • 类型:ServletContext

  • 定义:Servlet上下文,代表当前web应用。

    Web容器在启动时,它会为每个Web应用程序都创建一个唯一对应的ServletContext对象,意思是Servlet上下文,代表当前Web应用。

  • 作用

    1. 获取项目的上下文路径(带/的项目名):getContextPath()

    2. 获取虚拟路径所映射的本地真实路径:getRealPath(String path)

    3. 获取WEB应用程序的全局初始化参数(基本不用)

      4. 获取Web应用初始化参数:application.getInitParameter("ParamName");

  • 在Servlet中获取方式:使用this.getServletContext()方法获取。

page
  • 类型:Object

  • 作用:this,当前类对象。

response
  • 类型:HttpServletResponse

  • 定义:代表服务器向浏览器发送的响应报文,该对象由服务器创建,最终以参数的形式发送到doGet()和doPost()方法中。

  • 作用:

    1. 向页面(响应体)中响应数据,数据包括文本、Html等。

    2. 重定向

    3. 设置响应头信息

  • 在Servlet中获取方式:doGet()或doPost()中直接使用

config
  • 类型:ServletConfig

  • 定义:代表当前Servlet的配置信息,每一个Servlet都有一个唯一对应的ServletConfig对象。

  • 作用:

    1. 获取Servlet名称:getServletName()

    2. 获取全局上下文ServletContext对象:getServletContext()

    3. 获取Servlet初始化参数:getInitParameter(String) / getInitParameterNames()。

  • 在Servlet中获取方式:this.getServletConfig()

out
  • 类型:JspWriter

  • 定义:代表当前页面的输出流。

  • 作用:与Servlet中的PrintWriter功能类似,将数据响应到页面,响应的数据可以是页面、页面片段、字符串等。

  • 在Servlet中获取方式:无

exception
  • 类型:Throwable

  • 定义:代表当前页面的异常对象。

  • 作用:捕获处理页面中的异常信息。

  • 在Servlet中获取方式:new Throwable()

九大内置对象,都是我们可以在【代码脚本】中或【表达式脚本】中直接使用的对象。

Jsp四大域对象

程序中的域对象,主要负责在不同web资源之间进行数据交换,(如:servlet和jsp之间的数据交换)。

域对象分析

每个域对象内部都维护了一个Map<String , Object>,域对象的共同方法。

  • 设置属性到域中:void setAttribute(String key , Object value);

  • 从域中获取指定的属性:Object getAttribute(String key);

  • 移除域中指定属性:void removeAttribute(String key);

域对象有效性

  • pageContext: 当前页面中共享数据有效,离开当前页面失效。

    • 每个页面都有自己唯一的一个pageContext对象。

    • 注意servlet中没有该对象。

  • request: 当前请求中共享数据有效。

    • 当前请求:转发、直接访问一个页面为当前请求。

    • 不在当前请求:重定向、 打开页面再点击页面中的超链接不在当前请求 。

  • session: 一次会话范围中共享数据有效。

    • 当前会话:当前浏览器不关闭&不更换浏览器即为当前会话。

    • 只关心浏览器是否关闭,不关心服务器关闭重启。

    • 不同浏览器不共享会话。

  • application: 在服务器运行的一次过程中共享数据有效。

    • 服务器关闭销毁

域对象 作用范围 起始时间 结束时间
pageContext 当前JSP页面 页面加载 离开页面
request 同一个请求 收到请求 响应
session 同一个会话 开始会话 结束会话
application 当前Web应用 Web应用加载 Web应用卸载
 


以上是“Web中Jsp说什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Web中Jsp说什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JAVA中JSP是什么

这篇文章将为大家详细讲解有关JAVA中JSP是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、什么是JSPJSP全称是Java Server Page,也就是Java服务器页面。它的出现是降低动态网
2023-06-02

JSP是什么

JSP(JavaServer Pages)是一种用于开发动态Web应用程序的Java技术。它允许开发人员在HTML页面中嵌入Java代码,以生成动态内容。JSP页面在服务器上被解析和编译为Java Servlet,并在客户端请求时动态生成H
2023-09-07

jsp 是什么?

JSP(JavaServerPages)是一种基于文本的脚本语言,用于动态生成网页内容。它通过嵌入Java代码到HTML页面中实现,支持代码重用和动态响应。JSP广泛用于开发交互式Web应用,包括电子商务平台、内容管理系统和社交网络。它的优势包括易于学习、代码重用和安全性。但它也存在性能开销、复杂性和安全漏洞等劣势。替代方案包括Servlet、ASP.NET、PHP和Node.js。
jsp 是什么?
2024-04-02

Jsp中的Cookies有什么用

这篇文章主要介绍了Jsp中的Cookies有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Cookie是通过HttpServletResponse的addCooki
2023-06-17

JSP中内置对象是什么

这篇文章将为大家详细讲解有关JSP中内置对象是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JSP内置对象简单概述: (1) HttpServletRequest类的Request对象 作用:代表请求
2023-06-03

jsp中getparametervalues的作用是什么

在JSP中,getParameterValues()方法用于获取具有指定名称的请求参数的所有值,并返回一个字符串数组。该方法适用于具有多个值的参数,例如复选框、多选列表等。它可以用于获取多个选项的值,而不仅仅是获取单个选项的值。例如,如果
2023-10-27

jsp是什么格式

JSP(JavaServer Pages)是一种用于开发动态网页的技术,它采用Java编程语言并基于Java Servlet技术。JSP文件的扩展名为".jsp"。JSP文件实质上是一个包含Java代码和HTML标签的文本文件,它可以在服务
2023-09-21

jsp是什么文件

JSP(JavaServer Pages)是一种服务器端的Java技术,它允许开发人员在HTML页面中嵌入Java代码。JSP文件是包含JSP代码的文本文件,它的扩展名为.jsp。这些文件可以被Web服务器解析和执行,动态生成HTML页面,
2023-09-20

jsp中怎么include jar包中的jsp文件

在JSP中,可以使用``指令来包含其他JSP文件,包括位于JAR包中的JSP文件。下面是一个示例:```jsp```其中,"/WEB-INF/lib/mylib.jar"是JAR包的路径,"path/to/myfile.jsp"是JAR包中
2023-08-18

jsp中include指令的作用是什么

在JSP中,include指令用于在当前JSP页面中包含其他JSP页面或静态文件的内容。它的作用是将被包含的内容直接嵌入到当前页面中,就好像它们是当前页面的一部分。这允许我们在不重复编写相同代码的情况下,将一些通用的元素或功能添加到多个页面
2023-08-12

JSP中response.setContentType()参数的作用是什么

response.setContentType()方法用于设置实体的MIME类型。MIME类型是一种表示数据类型的标识符,在HTTP通信中用于标识传输的数据类型,例如text/html表示HTML文档,image/jpeg表示JPEG图像等
2023-08-12

jsp的作用是什么

JSP(Java Server Pages)是一种用于开发动态Web应用程序的Java技术。主要作用是将Java代码嵌入到HTML页面中,以便在Web服务器上生成动态内容。具体来说,JSP的作用包括:1. 动态生成HTML页面:通过在JSP
2023-05-22

jsp中forward与sendRedirect的区别是什么

在JSP中,forward和sendRedirect都是用于将请求重定向到另一个页面或资源,但它们之间有一些重要的区别。1. 请求处理:forward是在服务器端内部进行请求转发,而sendRedirect是通过客户端浏览器发起新的请求。2
2023-08-15

jsp中getParameter和getParameterValues的区别是什么

在JSP中,getParameter和getParameterValues方法都是用于获取请求参数的值,但是有以下区别:getParameter方法:用于获取单个请求参数的值。如果请求参数不存在或者为空,则返回null。如果请求参数存在
2023-10-27

说说为什么CSS不能选中某些元素

CSS 不能选中CSS 是一种用于制作网站设计的语言,它可以让我们对网页进行样式控制和布局管理。在这个过程中,有很多关键性的功能可以让我们自由地掌握网页设计,其中包括选择网页元素。然而,有时我们需要控制一些不能被选中的元素。那么为什么 CSS 不能选中某些元素呢?首先,我们需要了解 CSS 的工作原理。CSS 选择器能够通过选择元素的相关属性或者通过给定的表达式来选择目标元素。
2023-05-14

编程热搜

目录