首页 > 代码库 > jsp小结
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指令,当用户请求时,jsp引擎将两个jsp页面转换成一个servlet类,include动作,只有当include的页面被请求时,才被jsp引擎加载,将会生成两个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组件共享
config,pageContext,page ,exception,
jsp小结