JSP

本文深入介绍了JSP(JavaServer Pages)技术,一种用于创建动态网页的Java标准。文章详细讲解了JSP的工作原理,包括其生命周期的不同阶段,如编译、初始化、执行和销毁。此外,还介绍了JSP的指令、标签、作用域和内置对象,帮助读者全面理解JSP的使用场景和编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSP

  1. 介绍:JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。
  2. JSP生命周期中所走过的几个阶段:
    编译阶段:
    Servelet容器编译Servelet源文件,生成servelet类
    初始化阶段:
    加载与JSP对应的Servelet类,创建其实例,并调用它的初始化方法
    执行阶段:
    调用与JSP对应的Servelet实例的服务方法
    销毁阶段:
    调用与JSP对应的Servelet实例的销毁方法,然后销毁Servelet实例
  3. 指令:
指令描述
<%@ page … %>定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include … %>包含其他文件
<%@ taglib … %>引入标签库的定义,可以是自定义标签
  1. 标签:<% %>

  2. 注释:
    <%-- 注释 --%> :JSP注释,注释内容不会被发送至浏览器甚至不会被编译

  3. 输出:<%=内容%>

  4. 作用域:
    pageContext(页面域):pageContext有效范围仅限于当前页面 , 可以近似理解为this对象 , 在离开当前页面后 , 无论是request或redirect等方式离开的 , 当前页面的相关属性值都会丢失。
    request(请求域):request表示一次请求 , 它的有效范围是当前请求周期 . 所谓请求周期 , 就是从http发送请求 , 到服务器接收并处理请 , 将结果返回到客户端响应 . 在这一过程中 , 可能使用forward跳转了多个jsp页面 , 而在这多个jsp页面中属性值都有效. 但如果是通过redirect方式进行跳转 , 则重新发送请求 , 这样属性值就会丢失。
    session(会话域):session有效范围是当前会话。当前会话表示浏览器打开到浏览器关闭这一过程。但这会出现这种情况,如果浏览器一直处于打开状态,这样session永远不会销毁,而且在浏览器关闭时并不会通知服务器,另外session是存放在服务器的内存上,这样对服务器是一种负担,所以通过这种方法来判断:如果一段时间内客户端没有响应,则认为会话结束。
    application(应用域):application有效范围为整个应用,从应用开启到应用结束。在服务器停止之前,应用没有结束,application对象都有效,可以被所有会话共享。

  5. 内置对象

对象描述
requestHttpServletRequest类的实例
responseHttpServletResponse类的实例
outPrintWriter类的实例,用于把结果输出至网页上
sessionHttpSession类的实例
applicationServletContext类的实例,与应用上下文有关
configServletConfig类的实例
pageContextPageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page类似于Java类中的this关键字
ExceptionException类的对象,代表发生错误的JSP页面中对应的异常对象

9.代码格式:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>first jsp</title>
  </head>
  <body>
       你好
  </body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值