Jsp 学习笔记

本文深入探讨了JSP技术中的关键概念,包括JSP注释与HTML注释的区别、Page指令的应用、解决乱码问题的方法、静态与动态包含的特点及性能对比、九大隐式对象的功能与使用场景,以及自定义标签库的重要性。

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

学完servlet之后,似乎jsp就有点弱了,在吃完jsp这顿快餐之后,顺便记录了学习过程中的要点:


1. jsp注释 和 html注释的区别
        注释方式:jsp <%-- xxx --%>     html&xml <!-- xxx -->
        区别:jsp注释的内容不会打给浏览器,而html注释的内容打给浏览器,因为浏览器认识这种注释。    

2. Page指令
        errorPage :用于jsp页面出错时,给用户一个友好提示界面。还可以在web.xml 文件中配置 <error-page>标签,来对web中所有的页面进行全局的配置,如出现500或404时,可以给用户一个友好的提示页面。
        乱码问题:
        pageEncoding="UTF-8" 指定web服务器用UTF-8码表翻译jsp -> servlet 
        contentType="text/html; charset=UTF-8" 指定浏览器用UTF-8码表翻译servlet -> html (由于服务器默认会将response也翻译为pageEncoding指点的码表,所以contentType可以不写

3. include指令
        静态包含(编译时包含):<%@ include file="/public/head.jsp" %>  在翻译成servlet时,就将head.jsp中的内容包含进 目标jsp,head.jsp 不翻译为单独的servlet 
        动态包含(运行时包含):<% request.getRequestDispatcher("/public/head.jsp").include(request,response) %> 在翻译成servlet时,就将head.jsp翻译为servlet,在运行时,动态地将head.jsp中的内容包含进 目标jsp,head.jsp会被翻译为单独的servlet
        注意:静态包含性能比动态包含要好得多,所以尽量使用静态包含

4. 九大隐式对象
        out对象: 带有缓冲区,只有在  1.设置page指令的buffer属性 关闭了out对象的缓存功能 ,2. out对象的缓冲区已满,3. 整个jsp页面结束  ,才将out对象缓冲区中的内容真正写入到servlet引擎提供的缓冲区response)中。所以response调用的输出,总是比out对象先输出
        pageContext对象:

5. pageContext 
        1. 由于一个也是良好的jsp页面中不能出现一行java代码,为了移除这些java代码,就需要用到自定义标签库
        2. pageContext(page域) 的作用范围: 创建jsp页面时() -> 翻译成servlet时() ,它是最小的域对象。 
        3. 查找数据: pageContext.findAttribute("data");         //查找顺序   page -> request -> session -> application   (EL表达式就是这个原理)

6. Jsp标签
        1. forward标签<jsp: forward>: 根据mvc模式,应将首页请求交给servlet处理,但是,由于在web.xml 中不能配置servlet,所以只能在web.xml 中配置首页的jsp,然后在首页的jsp中,使用forward标签跳转到一个servlet ,进行处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值