6 JSP服务器页面

JSP概述

JSP页面允许在标准HTML页面中包含Java代码
JSP技术的目标是支持表现和业务逻辑的分离
Web设计人员可以独立设计和修改页面<前台JSP>
Java平台的程序员可以独立编写业务逻辑代码<后台Servlet>

jsp是servlet。

修改内容不需要重启服务器

处理流程

第一步:
如果第一次访问jsp页面,JSP Parser将JSP页面翻译成Servlet代码;
如果不是第一次访问执行第四步;

第二步:
编译Servlet代码,并将编译过的类文件装入Web容器(JVM)环境;

第三步:
Web容器为JSP页面创建一个Servlet类实例,并执行jspInit方法;

第四步:
Web容器为该JSP页面调用Servlet实例的_jspService方法;将结果发送给用户

在这里插入图片描述
在这里插入图片描述

脚本元素

脚本元素<% %>由JSP引擎处理;所有其它文本、脚本以外的元素均被作为响应的一部分。

JSP脚本元素分为五类:

	注释标签:    <%-- comment --%>
	指令标签:    <%@ directive %>
	声明标签:    <%! declaration %>
	脚本标签:    <% code %>   写java代码,在java控制台输出信息
	表达式标签:  <%=expression %>   内容输出到网页中

在这里插入图片描述
x=11

注释

<%-- JSP注释只在JSP代码中可见,不显示在servlet代码或响应中。–%>

指令

指令标签影响JSP页面的翻译阶段

<%@ page import=“java.util.*” %>

声明

声明标签允许JSP页面开发人员包含类级声明,声明属性和方法。
<%! public static final String DEFAULT_NAME = “Hello World”; %>

脚本

 脚本标签允许JSP页面开发人员在_jspService方法中包含任意的Java代码
<% if ( gender == 1 ) { %>
I is a bod.
<% } else { %>
I is girl
<% } %>

表达式

 达式标签封装Java运行时的表达式,其值被送至HTTP响应流
Ten is <%= (2 * 5) %>

脚本翻译

指令标签 
	根据指令内容直接翻译到Servlet相应位置

声明标签 
	定义的变量翻译成Servlet的属性;
	声明的方法翻译成Servlet的方法;
	定义的类翻译成Servlet的内部类;

脚本标签
	依照先后顺序,翻译到_jspservice方法里

表达式标签
	封装java运行时表达式,其值直接到相应位置。

注释标签
	不翻译到Servlet中。
除上述脚本元素以外所有代码,按照先后顺序全部视为文本,翻译到_jspservice方法里,out.print直接输出。

数据库查询的结果如何返回给jsp?
在这里插入图片描述
在这里插入图片描述

内置对象

在jsp中存在9个隐含(内置)变量,这些对象不经过显示声明直接使用,也不需要专门的代码创建其实例,在程序设计中可以直接使用这些对象。

request
 与请求相关的HttpServletRequest对象

response
 与返回浏览器的响应相关的HttpServletResponse对象

session
 返回当前用户请求会话相关的HttpSession对象

application
 用于Web应用的ServletContext对象

out
 与响应的输出流相关的JspWriter对象

config
 与该JSP页面的servlet相关的ServletConfig对象配置

page
 该变量与Java编程语言中的this变量等价

pageContext
 该对象封装了一个JSP页面请求的环境

exception
 由其它JSP页面抛出的Throwable对象,该变量只在“JSP错误页面”中可用

模板重用

在这里插入图片描述
指令重用。
在这里插入图片描述

指令的重用是数据共享的,不能定义相同的变量。
标准动作只是动态引入页面,数据不共享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值