JSP初识
JSP最终会变成一个完整的servlet在web应用中运行。它与其他的servlet非常相似,只不过这个servlet类会由容器编写。
1.JSP的生命周期


如果一个web应用包含JSP,部署这个应用时,在JSP生命周期中,整个转换和翻译步骤只发生一次。JSP一旦得到转换和翻译,就像其他servlet一样了,而且类似于其他的servlet,一旦这个servlet得到加载和初始化,请求时只会发生一件事,就是创建或分配一个线程来运行服务方法。所以只有第一个请求JSP的呵护会等得长一些,以后的其他请求能够很快得到处理。
2.JSP代码发生了什么
容器会根据JSP创建servlet。
1)查看指令,得到转换时可能需要的信息;
2)创建一个HttpServlet子类;
3)如果一个page指令有import属性,在类文件的最上面导入相关包;
4)如果有声明,将生命写到类文件中;
5)建立服务方法,具体方法名是_jspService(),_jspService()由servlet超类被覆盖的service()方法调用,接收HttpServletRequest和HttpServletResponse参数,在这个方法中,容器会声明并初始化所有隐式对象;
6)将普通的HTML、scriptlet和表达式放到服务方法中,完成格式化,并写至PrintWriter响应输出;

3.JSP中的4种元素和3种指令
4种元素
Scriptlet:<% %>
指令:<%@ %>
表达式:<%= %>
声明:<%! %>
3种指令
page指令
taglib指令
include指令
4.JSP中的隐式对象

JSP初识的更多相关文章
- [Servlet&JSP] 初识ServletContext
ServletContext是整个Web应用程序运行后的代表对象,能够通过ServletConfig的getServletContext()方法来取得,之后就能够利用ServletContext来取得 ...
- JavaWeb与JSP初识
JavaWeb执行过程 目录结构 Web程序部署在Tomcat的/webapps下面. 一个webapps文件夹可以部署多个不同的Web应用,webapps/web1,webapps/web2. 如果 ...
- 蜗牛—JSP学习之JavaBean初识
初识: <%@ page language="java" import="java.util.*" pageEncoding="utf-8&qu ...
- 第二章 初识JSP
第二章 初识JSP 一.JSP简述 1.是JSP JSP是指在HTML中嵌入Java脚本语言.全称(Java Server Pages) 当用户通过浏览器访问Web应用时,使用JSP容器对请求的J ...
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...
- java web学习之初识jsp
用java语言(+html语言)开发动态资源的技术: jsp的运行过程,1:tomcat服务器将jsp代码翻译成java代码,并且编译成class文件 2:tomcat服务器构造类对象 3:tomca ...
- JSP之->初识JSP
JSP 引用百度百科的介绍: JSP(Java Server Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.JSP技术有点类似ASP技术,它是在 ...
- myeclipse10 .jsp将表单提交给.java(form网页与后台通信初识)
做毕设需要用到form通信. 以下几张截图来自极课学院 servlet jsp文件 web配置 出现错误: 路径问题 仍然不对,需要再改 <form action="servlet/S ...
- JSP之初识2
<与%之间不可有空格,但是后面可以有空格 <%@ page language="java" import="java.util.*" pageEnc ...
随机推荐
- UEditor 之查询当前编辑区域的状态是源码模式还是可视化模式
在使用百度的编辑器的时候,遇到了这样的一个问题: 解决方法是 使用了两个命令:
- hiho_1086_browser_caching
题目 浏览器有一个cache,可以存放M(M <= 5000) 个url地址(url为长度小于30的字符串).现在进行N(N <= 20000)次访问,每一个访问,如果访问的url在cac ...
- MYSQL 【汇总数据】 【分组数据】 学习记录
分组数据 1,创建分组:
- 联想VIBE UI 固件ROM刷机包集合
固件下载_联想乐问吧http://ask.lenovomobile.com/?c-157.html 联想VIBE UI 固件ROM刷机包集合 悬赏分:0 解决时间:2014/09/12 15: ...
- LWIP协议中tcp_seg结构相关指针的个人理解
我曾经写在新浪博客上面,后来复制到这,图片就不行了. 原文地址转载 LWIP协议中tcp_seg结构相关指针的个人理解(http://blog.sina.com.cn/s/blog_7e586985 ...
- Sql Server判断某列字段是否为空或判断某列字段长度
1.用is null 和 is not null来判断字段是否为空. 2.用len()函数来判断字段长度.
- 一些用于数据整理的excel函数
我们经常要从外部数据源(如数据库.文本文件或网页等)将数据导入excel中,但是此类数据往往比较混乱,无法满足我们的要求,因此在进行数据分析之前,需要将这些数据进行整理清洗,excel由于将数据的管理 ...
- python中列表的操作
list1 = ['A' , 'B' , 'C'] list1[0] ; list1[-1] # 取第一个和最后一个元素 list1[ : ] ; list1[ : len(list1)] # 取所有 ...
- [转]sql中判断text类型字段是否为空
用 字段=''会报错:数据类型 text 和 varchar 在 equal to 运算符中不兼容. 正确方法: 1. 字段 is null 2. datalength(字段)=0 注:SQL中的DA ...
- MVC扩展ValueProvider,通过实现IValueProvider接口创建SessionValueProvider
□ ValueProvider的大致工作原理 →通过Request.Form, Request.QueryString, Request.Files, RouteData.Values获取数据.→然后 ...