JSP技术

JSP技术

JSP全名为Java Server Pages,它是建立在Servlet规范上的动态页面开发技术。在JSP文件中,HTML文件与Java代码同存,其中,HTML代码用来实现页面中的静态内容显示,Java代码显示网页中动态内容。为了与传统Html页面区分,JSP文件的扩展名为.jsp

JSP运行原理

JSP原理图
在这里插入图片描述

JSP脚本元素

三种类型:

  • JSP Scriptlets
    <% java代码 (变量、方法、表达式等)%>
  • JSP声明语句(用于声明全局变量)
    <%!
    定义的变量或方法等
    %>
    • JSP表达式(用于将程序数据输出到客户端)
      <%= expression %>
  • JSP注释
    <%-- 注释信息 -->

JSP指令

page指令

<%@ page 属性名1=“属性值1” 属性名2=“属性值2”…%>
在这里插入图片描述

include指令

<%@ include file=“被包含的文件地址”%>

一个应用以上两个指令的例子

header.html

<%@ page language="java" contentType="text/html;charset=utf-8" 
	pageEncoding="UTF-8"%>

<hr>
<meta charset="UTF-8">
<center>
<h1><font size="+3" color="red">新世纪</font>
<font size="+3" color="purple">网上书店</font></h1>
</center>
<hr>

footer.jsp

<hr>
<center><em>
	Copyright &copy;2008 New Century Web Bookstore, Inc.</center>
</em></center>

main.jsp

<%@ page language="java" contentType="text/html;charset=utf-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>New Century Web BookStore</title>
</head>
<body bgcolor="#FFFFFF">
 	<%@ include file="header.html" %> 
	<table border=0 cellspacing=5 cellpadding=5 width="100%">
	  <tr><td>
	   <p align="center"><b>欢迎光临新世纪网上书店!</b></p>
	  </td></tr>
	  <tr><td>
	   <p align="center"><b><a href="/bookstore">开始购买图书吧!</a></b>
	  </td></tr> 
	</table>
	 <%@ include file="footer.jsp" %> 
</body>
</html>

</body>
</html>

运行图
在这里插入图片描述
提到include指令,这里有一个知识点,敲黑板~
辨别include指令和jsp:include动作元素的异同:
include指令:静态包含;即在生成Servet类时已经融合在一起;
jsp:include动作元素:动态包含;即在程序运行时将被包含加进来;
则上面的main.jsp等价于:

<%@ page language="java" contentType="text/html;charset=utf-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>New Century Web BookStore</title>
</head>
<body bgcolor="#FFFFFF">
<%-- 	<%@ include file="header.html" %> --%>
	<jsp:include page="header.html" flush="true" />
	<table border=0 cellspacing=5 cellpadding=5 width="100%">
	  <tr><td>
	   <p align="center"><b>欢迎光临新世纪网上书店!</b></p>
	  </td></tr>
	  <tr><td>
	   <p align="center"><b><a href="/bookstore">开始购买图书吧!</a></b>
	  </td></tr> 
	</table>
	<jsp:include page="footer.jsp" />
	<%-- <%@ include file="footer.jsp" %> --%>
</body>
</html>

</body>
</html>

JSP隐式对象

在JSP页面中,有一些对象需要频繁使用,为了简化Web应用程序开发,JSP2.0提供了9个隐式(内置)对象,它们是默认创建的,可以直接在JSP页面中使用。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里就不得不提一提我们javaweb中的四大容器
application作用域:所有作用域中范围最大的域,由于所有servlet共享一个servletcontext对象,所有多个servlet通过servletcontext可以实现数据在不同servlet之间的共享,是一个全局变量

httpsession作用域: 范围第二大的域,(会话范围)在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session。如果没有,就在内存中创建一个session并返回。当一短时间内(默认30分钟)session没有被使用,则服务器会销毁该session。若服务器非正常关闭,未到期的session也会跟着销毁。若调用session提供的invalidate()方法,可以立即销毁session。

servletRequest作用域: 范围第三大的域,在整个请求链中共享数据,最长用于在servlet中处理好的数据交给jsp显示,此时参数就可以放置在servletRequest域中带过去

PageContext作用域: 范围最小的一个域,可以获取其他八大内置对象,可以认为是一个入口对象,能够获取其他所有域中的数据。能跳转到其他资源,其身上提供forward和sendRedirect方法,简化了转发和重定向的操作,代表页面上下文,该对象主要用于访问jsp之间的共享数据,当对jsp的请求时开始,当响应结束时销毁

明日继续。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值