这几天开始学习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. jquery控制元素的隐藏和显示的几种方法

    使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 方法一 显示: $("#id").show()表示为display:block, 隐藏: $("#id&q ...

  2. maven打包报错 Fatal error compiling: tools.jar not found: C:\Program Files\Java\jre1.8.0_151\..\lib\tool

    maven 打包报错  [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:comp ...

  3. python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”

    python + pymysql连接数据库报"(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)&quo ...

  4. docker安装elasticsearch6.8.3-单机模式及可视化Kibana6.8.3

    docker安装elasticsearch6.8.3-单机模式 拉取镜像 docker pull elasticsearch:6.8.3 创建容器  测试环境加上-e "discovery. ...

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

  6. antd递归渲染左侧菜单

  7. centos7 date时间命令

    date "+%F %T" %F     full date; same as %Y-%m-%d  --相当于年月日格式 %T     time; same as %H:%M:%S ...

  8. Java读写XML代码示例

    采用技术:dom4j 需要jar包:dom4j-1.6.1.jar 主类如下---- public class dom4jTestXML { /**  *   * 方法描述:读取XML文件示例 备 注 ...

  9. 微服务架构攀登之路(五)之Go-micro入门

    一.go-micro入门 1. go-micro 简介 Go Micro 是一个插件化的基础框架,基于此可以构建微服务,Micro 的设计哲学是可插拔的插件化架构 在架构之外,它默认实现了 consu ...

  10. 51 Nod 1183 编辑距离 (动态规划基础)

    原题链接:1183 编辑距离 题目分析:这个最少的操作次数,通常被称之为编辑距离."编辑距离"一次本身具有最短的意思在里面.因为题目有"最短"这样的关键词,首先 ...