jsp小结
JSP执行步骤

完整步骤:
第一步:用户通过浏览器发出一个Http请求;
第二步:web服务器识别是对jsp页面的请求;
第三步:jsp容器通过jsp引擎将jsp页面转化为servlet代码(纯java代码);
第四步:servlet容器通过servlet引擎加载servlet类,常驻内存,并以html的形式做出response返回给web容器。
第五步:web服务器将Http Response返回给客户端浏览器,这个response实质上是jsp在服务器端动态产生的在客户端静态显示的html文件。
JSP生命周期
public void jspInit(){
// Initialization code...
}
void _jspService(HttpServletRequest request,
HttpServletResponse response)
{
// Service handling code...
}
public void jspDestroy()
{
// Your cleanup code goes here.
}
JSP语法
JSP脚本
//java代码
<% out.println("hello world");%>
//jsp变量或者方法声明
<%!int i=0;int a,b,c;%>
//赋值
<%=(new java.util.Date()).toLocaleString() %>
JSP注释
<%-- --%> //服务器端注释,客户端不可见,jsp引擎不转化
<!-- --> //客户端可见注释
JSP动作
<jsp:include page="" />
以下是对 include 两种用法的区别 , 主要有两个方面的不同 ;
一 : 执行时间上 :
<%@ include file="relativeURI"%> 是在翻译阶段执行
<jsp:include page="relativeURI" flush="true" /> 在请求处理阶段执行 .
二 : 引入内容的不同 :
<%@ include file="relativeURI"%>
引入静态文本 (html,jsp), 在 JSP 页面被转化成 servlet 之前和它融和到一起 .因此两个页面不允许有相同的变量
<jsp:include page="relativeURI" flush="true" /> 引入执行页面或 servlet 所生成的应答文本
<jsp:useBean id="name" class="package.class" scope="application/page/request"/>
<jsp:useBean>指令用于在scope内定位或实例化JavaBeans组件
<jsp:setProperty name="name" property="" value=""或者param=""/>
通过上述指令加载一个类后,就可以通过<jsp:setProperty>设置属性,如果property="*",那么传递的参数会和所有的property进行匹配赋值。
<jsp:getProperty name="name" property="" />
获得某个javabean组件的属性值,并且直接输出在html流中。
<jsp:forward page="" ><jsp:param name="" value=""></jsp:forward>
forward指令就相当于请求转发,可以跳转到静态或者是动态的页面。forward指令可以包含param标签,在页面跳转时有额外的参数请求。
JSP指令
//定义页面作用域的属性,例如:脚本语言,编码方式,异常处理
<%@ page...%>
//加载该jsp文件的时候,包含其他静态的jsp文件
<%@ include ...%>
//
<%@ taglib...%>
JSP内置对象
request :用户请求后JSP引擎创建一个请求实例
response :通过response可以添加cookie
out: 输出流对象,out.flush()可以清空缓冲区
session:客户端建立连接后就建立一个会话
application:ServletContext的一个实例,application对于web服务器下某一个web应用中的所有servlet共享
config,pageContext,page ,exception,
jsp小结的更多相关文章
- Java EE - JSP 小结
Table of Contents 前言 JSP 与 Servlet JSP 初始化参数 脚本元素 page 指令 禁用脚本元素 EL 表达式 EL 函数 taglib 指令 标记 TLD 文件的位置 ...
- java学习笔记-JavaWeb篇一
JavaWEB篇一 1 Tomcat的安装和配置 2 JavaWeb开发的目录结构 3 使用Eclipse开发JavaWeb项目 4 第一个Servlet程序 5 Servlet 的配置及生命周期方法 ...
- struts2 动态Action
1.java 2.struts.xml struts2.5,默认关闭动态Action,着色的是开启和使用动态action 3.JSP 小结:访问时,用!后跟方法名的方法,方法返回值----->r ...
- nginx中 location正则的理解
文章转载自:https://blog.csdn.net/wzj_110/article/details/110142902 正则表达式在线测试工具:https://tool.lu/regex loca ...
- JSP基本语法小结
jsp表达式:<%=???%> 在jsp页面嵌入java代码<%Java代码%>可以用多个<% %>分割代码段 jsp声明:<%!用这样的方法可以声明java ...
- JSP中文乱码问题解决方法小结
在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是我在软件开发中遇到的乱 码问题以及解决方法. 1.JSP页面乱码 这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要 ...
- jsp base标签与meta标签学习小结
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- js、JSP、servlet之间的传递小结
@ JS 与 JSP :JSP无法直接获取JS的值,只能通过隐藏表单或者dom节点设置. JSP中设置隐藏表单input,或者设置任意一个隐藏或者不隐藏的节点比如div, 而JS就通过document ...
- jsp请求转发与重定向区别小结
1.当使用转发时,JSP容器将使用一个内部方法来调用目标页面,新的页面继续处理同一个请求,而浏览器不会知道这个过程; 2.重定向是第一个页面通知浏览器发送一个新的页面请求. 3.转发不改变URL,重定 ...
随机推荐
- navicat for sqlite 11.1.12 patch 永久试用 不报毒
因为最近需要用这个但是网上都是注册机没有成功注册,所以就自己动手使用ollydbg开刀, 修改成了永久试用版本. 着急用所以没仔细分析,暂时先这样吧. 这个下载版本 http://dlsw.ba ...
- Python多线程编程(第二篇)
一.Python中的上下文管理器(contextlib模块) 上下文管理器的任务是:代码块执行前准备,代码块执行后收拾 1.如何使用上下文管理器: 如何打开一个文件,并写入"hello wo ...
- springboot 静态方法注入service
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px Arial; color: #3f3f3f; bac ...
- linux连接mysql 出现Access denied for user 'root'@'localhost'(using password: YES)错误解决方案
linux连接mysql /usr/local/mysql/bin/mysql -uroot -p 输入密码出现Access denied for user 'root'@'localhost'(us ...
- 前端请求参数MD5加密校验,参数串解密
首先引入MD5加密库:=>https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js; 步骤:=>1.请求前对参数进行字典升序排序,排 ...
- CTF---隐写术入门第三题 打不开的文件
打不开的文件分值:10 来源: 实验吧 难度:中 参与人数:2718人 Get Flag:1222人 答题人数:1276人 解题通过率:96% 咦!这个文件怎么打不开? 解题链接: http://ct ...
- [51nod1671]货物运输
公元2222年,l国发生了一场战争. 小Y负责领导工人运输物资. 其中有m种物资的运输方案,每种运输方案形如li,ri.表示存在一种货物从li运到ri. 这里有n个城市,第i个城市与第i+1个城市相连 ...
- BZOJ1758: [Wc2010]重建计划(01分数规划+点分治+单调队列)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1758 01分数规划,所以我们对每个重心进行二分.于是问题转化为Σw[e]-mid>=0, ...
- ES5.0集群搭建
最近在网上看到很多ES集群的搭建方法,本人在这人使用Elasticsearch5.0.1版本,介绍如何搭建es集群并安装head插件和其他插件安装方法. 一.搭建环境(2台Centos7系统服务器) ...
- Zabbix安装客户端agent(windows和Centos7)
上一篇简单的介绍了怎么搭建Zabbix监控服务端,接下来给大家介绍怎么在windows和Centos7上安装zabbix_agent客户端. Zabbix是一个基于WEB界面的提供分布式系统监视以及网 ...