摘要:JSP,全称是Java Server Pages,即Java服务器页面,是由Sun Microsystems公司主导创建的一种动态网页技术标准。

本文分享自华为云社区《Java服务器页面-JSP是什么与其简单结构介绍》,作者: gentle_zhou。

JSP,全称是Java Server Pages,即Java服务器页面,是由Sun Microsystems公司主导创建的一种动态网页技术标准。同时,JSP是一种运行在服务端的Java servlet(Server Applet,小服务程序)。

JSP以JAVA语言作为脚本,为整个JAVA编写的服务器提供了一个服务于HTTP网页的接口,可以动态生成HTML、XML 或其他格式文档的Web网页。

为什么使用JSP

使用JSP技术来编写HTTP网页的优势有如下几点:

  1. 性能优越,因为JSP可以直接在HTML网页中动态嵌入元素
  2. 服务器可以直接调用已经编译好的JSP文件,而不需要先载入解释器和目标脚本再编译
  3. JSP可以调用各种Java里的API接口
  4. JSP网页页面可以和处理业务逻辑的小服务程序一起使用
  5. JSP是Java EE(Enterprise Edition,企业级版本)重要的一部分,是一个完整的企业级应用平台

JSP需要什么开发环境

    1. JDK,是Java Development Kit,是Java的软件开发工具包。
      官方下载链接:https://www.oracle.com/java/technologies/downloads/
    2. Tomcat,一款支持运行 JSP 和 Servlets 的web服务器,可以集成在 Apache Web Server 中。
      Apache Tomcat 作为开源软件,下载链接:http://tomcat.apache.org/
      Tomcat 官网链接:http://tomcat.apache.org
    3. CLASSPATH 环境变量。由于 servlets 不是 Java SE(Standard Edition,Java 标准版,Java技术的核心和基础)的一部分,所以开发人员必须标示出 servlet 类的编译器。
      如果我们用的是 Windows 机器,需要在 C:\autoexec.bat 文件中添加以下两行:
      set CATALINA=C:\apache-tomcat-[版本号]
      set CLASSPATH=%CATALINA%\common\lib\jsp-api.jar;%CLASSPATH%
      如果是在 Linux/Unix 机器下,我们则需要在 .cshrc 文件中添加以下两行:
      setenv CATALINA=/usr/local/apache-tomcat-[版本号]
      setenv CLASSPATH $CATALINA/common/lib/jsp-api.jar:$CLASSPATH
      注:如果开发路径是 C:\JSPDev (Windows)或者 /usr/JSPDev (Linux/Unix),那么w我们就需要将这些路径添加进 CLASSPATH 变量中。

JSP结构

服务器上的JSP页面都会由JSP容器/引擎来负责处理。

JSP 容器会与 Web 服务器协同合作,为JSP正常运行提供必需的运行环境和服务;JSP容器还会正确识别专属于JSP网页的特殊元素(标签通常以<%开头,以%>结束)。

如下图所示是一个典型的支持JSP的网络服务器与客户端交互的图片,左边是代表客户端的机器(macos,linux,windows系统),中间用户通过互联网连接到我们右边的网络服务器,网络服务器里则有JSP容器/引擎(里面会包含JSP文件),然后服务器会和数据库进行交互:

参考链接

  1. https://www.runoob.com/jsp/jsp-tutorial.html

点击关注,第一时间了解华为云新鲜技术~

认识一下什么是JSP的更多相关文章

  1. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)

    1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...

  2. jsp前端实现分页代码

    前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...

  3. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  4. jsp页面无法识别el表达式的解决方案

    今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...

  5. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  6. 浅谈JSP注释

    HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...

  7. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  8. Nginx服务器之Nginx与tomcat结合访问jsp

    本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...

  9. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  10. JSP页面跳转的几种实现方法

    使用href超链接标记      客户端跳转 使用JavaScript               客户端跳转 提交表单                        客户端跳转 使用response ...

随机推荐

  1. 6.S081-2021-Lab3 Pgtbl学习笔记

    Speed up system calls 根据hints查看kernel/proc.c中的函数proc_pagetable // kernel/proc.c // Create a user pag ...

  2. 安卓记账本开发学习day6之进度

    完成了基本的收入与支出添加,支持输入备注 以及备注的输入和金额的遮挡显示切换

  3. 改造@vue/cli项目为服务端渲染-ServerSideRender

    VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...

  4. Java 图像处理(一)

    曾几何时,Java图像处理已经被认为是太过鸡肋,就连Java的创始公司,在java图像处理方面也是浅尝辄止,可能相比较C++,Java在这方面的处理,确实差强人意. 不过Java类库中有一个叫JAI的 ...

  5. 3种方法改变this的指向

    <body>     <div style="width: 200px;height: 200px;hotpink;"></div>     & ...

  6. python 面试题汇总

    1丶元组(list)和列表(tuple)的区别: 一:共同点: ①: 可以放置任意数据类型的有序集合,都是可以存放数字,字符串,对象等. ②:都支持 负索引,切片,随意嵌套等操作 二:不同点: ①: ...

  7. go sync.map源码解析

    go中的map是并发不安全的,同时多个协程读取不会出现问题,但是多个协程 同时读写就会出现 fatal error:concurrent map read and map write的错误.通用的解决 ...

  8. 2021.08.09 P4868 Preprefix sum(树状数组)

    2021.08.09 P4868 Preprefix sum(树状数组) P4868 Preprefix sum - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 前缀和(pr ...

  9. Jenkins+Allure测试报告+飞书机器人发送通知

    一.前言 之前讲了jenkins如何设置定时任务执行脚本,结合实际情况,本篇讲述在jenkins构建成功后,如何生成测试报告,以及推送飞书(因为我公司用的是飞书,所以是发送到飞书机器人). 本次实践搞 ...

  10. Dapr 远程调试之 Nocalhost

    虽然Visual studio .Visual studio code 都支持debug甚至远程debug ,Dapr 搭配Bridge to Kubernetes 支持在计算机上调试 Dapr 应用 ...