这几天开始学习JSP和Servlet,写些博客,记录自己的学习过程,算是自己从业开始的一个见证。

一、什么是JSP

JSP的全称是Java Service Page,一种动态的网页开发技术,区别于静态网页。(静态和动态网页的区别:是否随着时间,地点和用户操作的改变而改变。举个例子例如QQ和微信,如果服务器更新,全部软件都需要升级,需要重新安装。但是网页版的,例如京东服务器和各种浏览器,随着用户的操作的变化而变化。)JSP是一种 Java Servlet,主要用于实现Java Web应用程序的用户界面部分。

我们一般可以通过结合HTML代码,XHTML代码,XML元素以及嵌入JSP操作和命令来编写JSP。

二、JSP的生命周期

JSP的生命周期就是从创建到销毁的整个过程。类似Servlet的生命周期,与Servlet的生命周期的区别在于JSP生命周期包括将JSP文件编译成Servlet。

具体阶段:1编译阶段:Servlet容器编译成Servlet源文件,生成Servlet类。

2初始化阶段:加载与jsp对应的Servlet类,创建其实例,并调用它的初始化方法

3执行阶段:调用与JSP对应的Servlet实例的service方法。

4销毁阶段调用与JSP对应的Servlet实例对应的销毁方法,然后销毁Servlet实例。

三、JSP的执行流程

1、形态过程:jsp ——> java(servlet) ——> class

2、第一次执行服务端将jsp翻译成Java,再将Java编译成class文件,第二次访问直接访问class文件。如果服务端代码修改好了,将会在访问时重新翻译和编译。

四、jsp优势

1、与ASP相比,JSP有两大优势,首先,动态部分用Java编写,而不是VR或其他MS专用语言,所以更加强大与易用。其次是JSP易移植到非MS平台上。

2、与纯Servlet语言相比,JSP可以很方便的编写或修改HTML网页而不用面对大量的println语句。

3、与SSI相比,SSI无法使用表单数据,与数据库进行连接。

4、与JavaScript相比,虽然JavaScript可以在客户端动态生成HTML,但很难与服务器交互,不能提供复杂的服务,比如说访问数据库和图像处理等。

5、与静态HTML相比,静态HTML不包含动态信息。

学习JSP篇:jsp简单介绍的更多相关文章

  1. iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  2. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  3. iOS开发UI篇—Modal简单介绍

    iOS开发UI篇—Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...

  4. iOS开发数据库篇—SQLite简单介绍

    iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...

  5. iOS开发UI篇—Kvc简单介绍

    ios开发UI篇—Kvc简单介绍 一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observ ...

  6. iOS开发UI篇—UIWindow简单介绍

    iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...

  7. iOS开发UI篇—Quartz2D简单介绍

    iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...

  8. iOS开发多线程篇—NSOperation简单介绍

    iOS开发多线程篇—NSOperation简单介绍 一.NSOperation简介 1.简单说明 NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现 ...

  9. iOS开发数据库篇—FMDB简单介绍

    iOS开发数据库篇—FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来 ...

  10. iOS开发拓展篇—UIDynamic(简单介绍)

    iOS开发拓展篇—UIDynamic(简单介绍) 一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟 ...

随机推荐

  1. 【入门到精通】❤️「Java工程师全栈知识路线」

    持续更新中- Vue前端开发 章节 内容 实践练习 Vue.js高效前端开发 • (实践练习) 第1章 Vue.js高效前端开发 • [ 一.初识Vue.js ] 第2章 Vue.js高效前端开发 • ...

  2. PostgreSQL相关知识概念

    本文主要介绍PostgreSQL数据库的一些重要知识点, 包括数据库.模式.表空间.用户/角色等概念和关系, 帮助用户理解PostgreSQL数据库的重要概念, 从而能够更好的使用PostgreSQL ...

  3. 基于CentOS7.x gitlab环境搭建,卸载,汉化 --汉化篇

    gitlab环境搭建,卸载,汉化--汉化篇 注意gitlab的版本需和汉化版本一致 安装git yum install -y git 下载最新的汉化包 cd git clone https://git ...

  4. map类型转string必须用.toString

  5. Vue - 问题集、知识点

    通信:父组件 -> 子组件 父组件 <!--这里需要用v-bind来绑定data中的fontsize,否则传过去的只是一个字符串"fontsize"--> < ...

  6. 第10组 Beta冲刺 (3/5)

    1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14018630.html ·作业博客:https://edu.cnblogs.co ...

  7. Word合并多文档

    图片如果损坏,点击链接: https://www.toutiao.com/i6489785099528176142/ 很多时候,我们需要将两个或者多个文档的内容,放到一起,而最直接的办法就是将多个文档 ...

  8. PaddleOCRSharp,2022年,你来的晚了些,一款.NET离线使用的高精度OCR

    一款免费且离线的.NET使用的OCR,爱你又恨你!恨你来的太晚了. PaddleOCRSharp 本项目是一个基于百度飞桨的PaddleOCR的C++代码修改并封装的.NET的类库.包含文本识别.文本 ...

  9. httprunner3.x全网最详细教程

    一.所需环境 wiindows10以上 python3.6以上 httprunner3.1.6(最新版本) pycharm社区版 二.安装httprunner 1.卸载旧版本 卸载之前版本的命令为:p ...

  10. jenkins学习9-测试报告发邮件(Email Extension Plugin)

    前言 前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了. 安装 Email Extension Plugin 插件 jenkins首页- ...