javaweb(08) jsp(了解)

本文详细介绍了Java Server Page(JSP)的基础知识,包括其作为Servlet的本质、运行原理和基本语法。内容涵盖JSP模板元素、表达式、脚本片段、声明、注释、指令、九大内置对象等关键概念。同时,文章还讨论了静态和动态包含、页面转发等重要特性,以及JSP在Web开发中的作用和应用。

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

javaweb(08) jsp(了解)

jsp简介

简介

  • Java Server Page
    • jsp本质是一个Servlet,Servlet能做的事情jsp都能做
    • jsp能够以HTML页面的方式呈现数据,是一个可以嵌入java代码的HTML
    • jsp不同于HTML,不能使用浏览器直接打开,而必须运行在Servlet容器上

运行原理

image-20200813111155142

基本语法

jsp模板元素

  • jsp页面的静态HTML内容称之为jsp模板元素,在静态的HTML内容之中可以嵌套jsp的其它各种元素来产生动态内容和执行业务逻辑
  • jsp模板元素定义了网页的基本骨架,即定义了页面的结构和外观
  • 会被原封不动的翻译到java代码里,传入out.write()里

jsp表达式

  • 用于在页面输出内容
  • 表达式里面的所有内容都是被传参进out.print();里,所以参数能怎么写就怎么写
<%= new Date()>

jsp脚本片段

  • 在脚本片段里写java代码
  • 向页面输出内容:out.print("")
  • 脚本片段会被原封不动的复制到.java文件里
  • 脚本片段可以写多个,还可以拆分写多个,但合起来必须是完整的
<%
    int age = 16;
	 if(age >= 18){
         out.print("<br/>给你一本jsp从入门到放弃<br/>");
     }else{
         out.print("<br/>编程从娃娃抓起<br/>")
     }
%>

jsp声明

  • <%! 代码 %>
  • jsp声明里面的代码都会写在jsp的service方法之外,写在.java类里面,比较少用。

jsp注释

jsp原文件.java文件返回的HTML页面
<%–jsp注释–%>可见不可见不可见
<!–HTML注释–>可见可见可见
//java注释可见可见不可见

<%–jsp注释–%>翻译成.java文件时被忽略

<!–HTML注释–>浏览器输出时会被忽略

//java注释 编译成.class文件时被忽略

jsp指令

  • jsp指令是为jsp引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理jsp页面中的其余部分。
  • <%@ 指令名 属性名=属性值 %>
  • page指令:定义页面是如何解析的
  • include指令:静态包含
  • taglib:在页面引入标签库
page指令属性
  • import:用来在页面导包
  • pageEncoding:指定页面使用的字符集,也是告诉jsp引擎使用指定的编码翻译
  • contentType:设置响应头,页面如何响应给浏览器
  • errorPage:指定页面发生错误去向的页面
  • isErrorPage:表示当前页面是一个错误页面
  • session:默认session=“true”,当前页面是否参与会话,是否可以使用session对象
  • isELIgnored:是否忽略el表达式,默认false表示不忽略
  • info:定义页面的信息(描述)
静态包含
  • <%@ include file="" %>
  • 静态包含是把包含的页面内容原封装不动的输出到包含的位置。

jsp标签

动态包含
  • <jsp:include page=""></jsp:include>
  • 动态包含会把包含的 jsp 页面单独翻译成 servlet 文件,然后在执行到时候再调用翻译的 servlet 程序。并把 计算的结果返回。
  • 动态包含是在执行的时候,才会加载。所以叫动态包含。
页面转发
  • <jsp:forward page=""></jsp:forward>
  • <jsp:forward 转发功能相当于 request.getRequestDispatcher("/xxxx.jsp").forward(request, response); 的功能

jsp九大内置对象

内置对象:在页面上直接可以使用的内置对象

五大常规对象

image-20200813114806975

四大域对象
  • 域对象用于共享数据

image-20200813115002376

  • 说明:

    image-20200813115052703

image-20200813115114945

  • 对比:

image-20200813115207769

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值