JSP 简介_秋城落叶的博客-程序员秘密

什么是Java Server Pages?

JSP全称Java Server Pages,是一种动态网页开发技术,使用JSP标签在HTML网页中插入Java代码,标签通常以<%开头以%>结束

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分,通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页

JSP标签有多种功能,访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息

为什么使用JSP?

JSP程序有如下优势:

  • 性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素
  • 服务器调用的是已经编译好的JSP文件
  • JSP 基于Java Servlet API
  • JSP页面可以与处理业务逻辑的 Servlet 一起使用

如图以下表示:

JSP 处理

使用JSP来创建网页的:

  • 发送一个 HTTP 请求给服务器。
  • Web 服务器识别出这是一个对 JSP 网页的请求,并且将该请求传递给 JSP 引擎。通过使用 URL或者 .jsp 文件来完成
  • JSP 引擎从磁盘中载入 JSP 文件,转化为 Servlet,并且将所有的 JSP 元素转化成 Java 代码
  • JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎
  • Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器
  • Web 服务器以静态 HTML 网页的形式将 HTTP response 返回到浏览器
  • Web 浏览器处理 HTTP response 中动态产生的HTML网页
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40861561/article/details/105216577

智能推荐

用Django全栈开发——01. 安装虚拟环境_皮克啪的铲屎官的博客-程序员秘密

大家好,我是皮爷,很多人都会好奇,学习了Python能干嘛?今天,我将给大家通过一个Django项目,从零开始来给大家讲一个很系统的Django教程。该Django课程。包括了Django安装,Django是什么,从虚拟环境的搭建到前端开发,Django中间件的开发,从后端CMS系统的创建最后部署到阿里云线上服务器。整个流程统统都有,而且每一篇文章都有源码供大家查看参考。最终的效果,有条件的,可以去:peekpa.com查看,由于最近时期特殊,我的服务器是部署在AWS日服,如果想要看网站的,可以关注『

shareding-jdbc史上最简单的示例_sharejdbc_wumanxin2018的博客-程序员秘密

shared-jdbc简介Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据库分库分表访问。Sharding-JDBC是继dubbox和elastic-job之后,ddframe系列开源的第3个项目。Sharding-JDBC直接封装JDBC协议,可以理解为增强版的JDBC驱动,旧代码迁移成本几乎为零。Shardi...

集合中的各类接口_集合接口_醉游江湖的博客-程序员秘密

集合框架结构层次图:集合(collection)是个管理一组对象的单一对象。在集合内的对象称之为元素(elements)。通常,集合可以处理很多种类型的对象,这些类型的对象都属于一个特定的类型(也就是说,它们具有共同的父类型)。.集合API包含了如下将对象组为一体的接口:Collection-- - -组称之为元素的对象;其实现决定了是否有特定的顺序和是否允许有重复元素。●List有顺序的集合;可允许元素重复●Set没有顺序的集合;不允许元素重复Map具有映射关系的集合List代表一

「MySQL」- 配置 Zabbix 监控 @20210228_zabbix_agent环境变量_研究林纳斯的那个系统的博客-程序员秘密

本笔记记录如何使用 Zabbix 监控 MySQL 数据库,虽然 Zabbix 内置开箱即用的 MySQL 监控模板,但是“开箱”本身也是有些困难的。我们没有记录 Zabbix 添加及使用模板的方法,内容多为使用 MySQL 监控模板需要的准备工作。CentOS Linux release 7.5.1804 (Core) with Zabbix 4.0.1操作步骤1)为主机添加 Teamplate DB MySQL 监控模板;2)在被监控主机中创建 /var/lib/zabbix/.my.

Unreal4 学习资源合集_unrealfilm资源在哪里_kuangben2000的博客-程序员秘密

Unreal4 学习资源合集https://zhuanlan.zhihu.com/p/23712250?refer=VR2ARUnreal4 在国内资料还不是很多。列举一些资料供大家查阅学习。Epic 官方有一个完全中文的文档:Unreal4 官方中文文档基本大多数都是看文档摸索。Unreal 中国的官网:虚幻中国官网三巫社区:三巫社区.首页泰斗 Unreal4 技术专区Unreal4技术专区-【泰斗社区】国内推荐三个视频教学网站,泰课在线,AboutCG,三巫教育。

python-文件及文件夹操作_gexiaobaoHelloWorld的博客-程序员秘密

python os模块   1. os.sep 可以取代操作系统特定的路径分割符。   2. os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。   4. os.getenv() os.putenv()函数分别用来读取和设置环境变量。,,   7. os.system()函数用来运行shell命

随便推点

Spring Cloud Alibaba - 13 OpenFeign应用篇_小小工匠的博客-程序员秘密

文章目录What's FeignWhat’s FeignFeign是Netflix开发的声明式、模板化的HTTP客户端,其灵感来自Retrofit、JAXRS­2.0以及WebSocket。Feign可帮助我们更加便捷、优雅地调用HTTP API.在Spring Cloud中,使用Feign非常简单——只需创建接口,并在接口上添加注解即可。Feign支持多种注解,例如Feign自带的注解或者JAX­RS注解等。Spring Cloud对Feign进行了增强,使其支持SpringMVC注解,另外

极客DIY:20多元改造家用开关,实现远程控制、定时控制_如何改造开关为远程开关_gizwits_csdn的博客-程序员秘密

对于家庭电器设备来说,开关在家庭应用里显得尤为重要。只要人类还需要用电,开关永远都是刚需产品。随着智能家居的发展,传统开关的智能化,智能开关也势必会成为智能家居用户的必须品。下文是参加Iot小能手参赛帖,改造一个SOC方案的智能开关,成本只需20+,即可实现远程控制、定时控制。正文内容:我家的房子应该算是老房子了,卧室开关灯用的还是普通的开关,连双掷开关也不装一个,每次关灯都要

arcgis for python arcpy 入门 (二)_aisheng3237的博客-程序员秘密

上一篇说到了 如何连接到 数据库下面就如何开始操作数据库进行示意startEditing 方法用于启动编辑会话,startOperation 方法用于启动编辑操作。要提交编辑操作,请调用 stopOperation。要取消编辑操作,请调用 abortOperation。要完成编辑会话,请调用 stopEditing,该方法接受一个布尔型参数,用于指示提交或放弃会话内所做的更改。...

设计模式--策略模式_线程是不是策略模式_当我遇上你csy的博客-程序员秘密

1. 概述策略模式(Strategy Pattern)是比较典型的对象行为型模式,它是将对处理对象的一系列不同算法都单独抽离出来,单独封装成一个个类。策略的出现,主要是为了解决不同算法替换时的逻辑判断,将逻辑判断移到 Client 中去(即由客户端自己决定在什么情况下使用什么具体策略)。2. 模式结构策略模式包含如下角色:Context: 环境类,也叫做上下文角色,起承上启下封装作用; ...

日期处理-日期问题_腰果侠的博客-程序员秘密

日期问题问题描述小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?样例输

推荐文章

热门文章

相关标签