热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

java动态页面技术(JSP)

动态页面技术(JSPELJSTL)JSP技术jsp脚本和注释jsp脚本:1)-----内部的java代码
动态页面技术(JSP/EL/JSTL)

JSP技术

jsp脚本和注释

jsp脚本:

1&#xff09;<%java代码%> ----- 内部的java代码翻译到service方法的内部

2&#xff09;<%&#61;java变量或表达式> ----- 会被翻译成service方法内部out.print()局部变量

3&#xff09;<%!java代码%> ---- 会被翻译成servlet的成员变量的内容

 

jsp注释&#xff1a;  不同的注释可见范围是不同

1&#xff09;Html注释&#xff1a; ---可见范围 jsp源码、翻译后的servlet、页面显示html源码

2&#xff09;java注释&#xff1a;//单行注释  /*多行注释*/ --可见范围 jsp源码 翻译后的servlet

3&#xff09;jsp注释&#xff1a;<%--注释内容--%> ----- 可见范围 jsp源码可见

 

jsp运行原理-----jsp本质就是servlet&#xff08;面试&#xff09;

jsp在第一次被访问时会被Web容器翻译成servlet&#xff0c;在执行

过程&#xff1a;

第一次访问---->helloServlet.jsp---->helloServlet_jsp.java---->编译运行

PS&#xff1a;被翻译后的servlet在Tomcat的work目录中可以找到

jsp指令&#xff08;3个&#xff09;

jsp的指令是指导jsp翻译和运行的命令&#xff0c;jsp包括三大指令&#xff1a;

1&#xff09;page指令 --- 属性最多的指令&#xff08;实际开发中page指令默认&#xff09;

属性最多的一个指令&#xff0c;根据不同的属性&#xff0c;指导整个页面特性

格式&#xff1a;<%&#64; page 属性名1&#61; "属性值1" 属性名2&#61; "属性值2" ...%>

常用属性如下&#xff1a;

language&#xff1a;jsp脚本中可以嵌入的语言种类

pageEncoding&#xff1a;当前jsp文件的本身编码---内部可以包含contentType

contentType&#xff1a;response.setContentType(text/html;charset&#61;UTF-8)

session&#xff1a;是否jsp在翻译时自动创建session 默认是true

import&#xff1a;导入java的包

errorPage&#xff1a;当当前页面出错后跳转到哪个页面500错误

isErrorPage&#xff1a;当前页面是一个处理错误的页面500错误

404错误&#xff1a;在WEB.xml中给更改设置 

        404

      /error.jsp

 

 

2&#xff09;include指令

页面包含&#xff08;静态包含&#xff09;指令&#xff0c;可以将一个jsp页面包含到另一个jsp页面中

格式&#xff1a;<%&#64; include file&#61;"被包含的文件地址"%>

 

3&#xff09;taglib指令

在jsp页面中引入标签库&#xff08;jstl标签库、struts2标签库&#xff09;

格式&#xff1a;<%&#64; taglib uri&#61;"标签库地址" prefix&#61;"前缀"%>

 

jsp内置/隐式对象&#xff08;9个&#xff09;----- 笔试

jsp被翻译成servlet之后&#xff0c;service方法中有9个对象定义并初始化完毕&#xff0c;我们在jsp脚本中可以直接使用这9个对象

 

out对象

out的类型&#xff1a;JspWriter

out作用就是想客户端输出内容----out.write()

out缓冲区默认8kb 可以设置成0&#xff08;buffer&#61;"0kb"&#xff09; 代表关闭out缓冲区 内容直接写到respons缓冲区

 <%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"
    pageEncoding&#61;"UTF-8"  buffer&#61;"0kb"%>

pageContext对象

jsp域对象有四个

jsp页面的上下文对象&#xff0c;作用如下&#xff1a;

page对象与pageContext对象不是一回事

1&#xff09;pageContext是一个域对象

setAttribute(String name,Object obj)

getAttribute(String name)

removeAttrbute(String name)

pageContext可以向指定的其他域中存取数据

setAttribute(String name,Object obj,int scope)

getAttribute(String name,int scope)

removeAttrbute(String name,int scope)

ex:

pageContext.setAttribute("name", "文昭",PageContext.REQUEST_SCOPE);

findAttribute(String name)

---依次从pageContext域&#xff0c;request域&#xff0c;session域&#xff0c;application域中获取属性&#xff0c;在某个域中获取后将不在向后寻找

 

四大作用域的总结&#xff1a;

pageContext域&#xff1a;当前jsp页面范围

request域&#xff1a;一次请求

session域&#xff1a;一次会话

application域&#xff1a;整个web应用

 

2&#xff09;可以获得其他8大隐式对象

例如&#xff1a; pageContext.getRequest()

pageContext.getSession()

 

jsp标签&#xff08;动作&#xff09;

1&#xff09;页面包含&#xff08;动态包含&#xff09;&#xff1a;

2&#xff09;请求转发&#xff1a;

 

静态包含与动态包含的区别&#xff1f;

                  静态包含&#xff1a;一个Servlet&#xff08;合二为一&#xff09;引入静态页面&#xff08;代码&#xff09;

                  动态包含&#xff1a;两个Servlet(引入地址)

转:https://www.cnblogs.com/miaoxingren/p/9625965.html



推荐阅读
  • Java Web开发中的JSP:三大指令、九大隐式对象与动作标签详解
    在Java Web开发中,JSP(Java Server Pages)是一种重要的技术,用于构建动态网页。本文详细介绍了JSP的三大指令、九大隐式对象以及动作标签。三大指令包括页面指令、包含指令和标签库指令,它们分别用于设置页面属性、引入其他文件和定义自定义标签。九大隐式对象则涵盖了请求、响应、会话、应用上下文等关键组件,为开发者提供了便捷的操作接口。动作标签则通过预定义的动作来简化页面逻辑,提高开发效率。这些内容对于理解和掌握JSP技术具有重要意义。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 在处理遗留数据库的映射时,反向工程是一个重要的初始步骤。由于实体模式已经在数据库系统中存在,Hibernate 提供了自动化工具来简化这一过程,帮助开发人员快速生成持久化类和映射文件。通过反向工程,可以显著提高开发效率并减少手动配置的错误。此外,该工具还支持对现有数据库结构进行分析,自动生成符合 Hibernate 规范的配置文件,从而加速项目的启动和开发周期。 ... [详细]
  • 本文详细介绍了 jQuery 的入门知识与实战应用,首先讲解了如何引入 jQuery 库及入口函数的使用方法,为初学者提供了清晰的操作指南。此外,还深入探讨了 jQuery 在实际项目中的多种应用场景,包括 DOM 操作、事件处理和 AJAX 请求等,帮助读者全面掌握 jQuery 的核心功能与技巧。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • 本文探讨了利用Java实现WebSocket实时消息推送技术的方法。与传统的轮询、长连接或短连接等方案相比,WebSocket提供了一种更为高效和低延迟的双向通信机制。通过建立持久连接,服务器能够主动向客户端推送数据,从而实现真正的实时消息传递。此外,本文还介绍了WebSocket在实际应用中的优势和应用场景,并提供了详细的实现步骤和技术细节。 ... [详细]
  • 开发笔记:深入解析Android自定义控件——Button的72种变形技巧
    开发笔记:深入解析Android自定义控件——Button的72种变形技巧 ... [详细]
  • 深入解析JavaScript中的函数防抖与节流技术及其应用场景
    本文深入探讨了JavaScript中函数防抖和节流技术的原理及应用场景。通过详细的示例代码,全面解析了这两种优化方法在实际开发中的重要作用,为开发者提供了宝贵的参考和实践指导。 ... [详细]
  • 如何在Spark数据排序过程中有效避免内存溢出(OOM)问题
    本文深入探讨了在使用Spark进行数据排序时如何有效预防内存溢出(OOM)问题。通过具体的代码示例,详细阐述了优化策略和技术手段,为读者在实际工作中遇到类似问题提供了宝贵的参考和指导。 ... [详细]
  • 如何在PHP中提取数字的特定位数值
    本文将详细介绍如何在PHP中提取数字的特定位置的数值。这一技巧对于数据处理和算法实现具有重要意义,通过实例代码和详细解析,帮助读者掌握该方法的应用场景和实现方式。 ... [详细]
  • 本教程旨在为HTML5初学者提供Canvas画布的基础知识与实践指导。通过详细解析Canvas元素的使用方法、绘图API及常见图形绘制技巧,帮助读者快速掌握在网页中利用Canvas进行动态图形创作的基本技能。 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • 进程(Process)是指计算机中程序对特定数据集的一次运行活动,是系统资源分配与调度的核心单元,构成了操作系统架构的基础。在早期以进程为中心的计算机体系结构中,进程被视为程序的执行实例,其状态和控制信息通过任务描述符(task_struct)进行管理和维护。本文将深入探讨进程的概念及其关键数据结构task_struct,解析其在操作系统中的作用和实现机制。 ... [详细]
  • Understanding the Distinction Between decodeURIComponent and Its Encoding Counterpart
    本文探讨了 JavaScript 中 `decodeURIComponent` 和其编码对应函数之间的区别。通过详细分析这两个函数的功能和应用场景,帮助开发者更好地理解和使用它们,避免常见的编码和解码错误。 ... [详细]
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
author-avatar
手机用户2602933827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有