摘要: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. Struts2封装获取表单数据方式

    一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...

  2. yum install mysql-community-server yum方式安装mysql(社区版实操)

    前言:rpm方式或者这种yum安装时比较简单的方式,但是不推荐,但是确实很着急的话,可以采用这种安装这种方式不利于后续对mysql的管理,如果是多实例或者是复杂的一些架构的话,还是推荐利用源码包编译方 ...

  3. NodeJS学习day2

    今天还是接着学习IO,主要方面是文件路径相关操作 练习代码如下: const fs = require('fs') // 执行C:\CS\Node.js>node .\day2\fsRoad.j ...

  4. 安卓记账本开发学习day4

    在代码层面,展示出来的界面应该如下图 但是实际运行效果如下图 很明显,"其他"都没有显示出来,经过一点点排查,发现是IncomeFragment.java文件的代码存在错误 @Nu ...

  5. HbuilderX失焦时自动保存编辑器内容

    hbuilderX 有一个非常好用的功能:就是自动保存. 而且不需要安装什么插件,只需要在编辑器设置就可以了.接下来我们一起来设置吧: 1.打开我们的hbuilderX编辑器.在最上排选项栏里打开 & ...

  6. vue学习day02

    vue 指令 1. 内容渲染指令 v-text 指令的缺点:会覆盖元素内部原有的内容! {{ }} 插值表达式:在实际开发中用的最多,只是内容的占位符,不会覆盖原有的内容! v-html 指令的作用: ...

  7. Source Generator实战

    前言 最近刷B站的时候浏览到了老杨的关于Source Generator的简介视频.其实当初.Net 6刚发布时候看到过微软介绍这个东西,但并没有在意.因为粗看觉得这东西限制蛮多的,毕竟C#是强类型语 ...

  8. Unity减小安装包的体积(210MB减小到7MB)

    概述 项目简介 由于是公司内做的项目,不方便开源,就只分享优化过程吧. 项目信息 逐日是一个移动端单机小游戏,使用Unity开发,目前已将项目使用的Unity升级到2019.4.14f1c1 (3e5 ...

  9. pycharm 打包py程序为exe

    传送门 在终端输入 pyinstaller -F xxx.py -n 新名字 --noconsole --noconsole 去掉cmd命令窗口 -F 打包成一个文件 -D 打包成一个文件夹 -i 加 ...

  10. app嵌套页

    Wdatepicker