jsp九大默认对象

Linux sed 命令高级应用:从模式空间到实战 在 Linux 系统运维与自动化脚本中,文本处理是高频需求。作为经典流式编辑器,sed 以“逐行读入、按需处理”的模型,在处理超大日志或配置文件时展现出极高的效率与稳定性。理解其核心机制——模式空间与保持空间,是掌握高级文本变换的关键。通过地址范围锁定目标行,结合 s 替换命令与正则表达式,可以精准实现批量修改、数据清洗等场景。本文从实战出发,系统梳理了 sed 的常用技巧与易错盲点,帮助你从“记住命令”进阶到“设计处理流程”。 阅读详情

在jsp中定义类变量

写在<%%>之间的代码,在转换成servlet之后都会service()方法内运行,所以我们不必担心出现上边this.username的问题。

但是我们可以用<%!%>(注意多出来的感叹号)定义类变量或类方法,把上一个罪大恶极的servlet改造成jsp的话,就像这样。

<%@ page contentType="text/html; charset=gb2312"%><%! String username;%><% this.username = request.getParameter("username"); try { Thread.sleep(10000); } catch(InterruptedException ex) { } out.write(this.username);%>

注意

使用其例子可以测试jsp出错的效果,记得要在10秒之内点击两次。

<%!%>似乎是一个巨大的陷阱,如果我们使用它定义类变量就一定会出现多线程错误。

不过凡事都有正反两面,当我们需要在jsp中定义一个通用方法时,就需要借助<%!%>的力量了,假设我们需要一个方法,根据用户的性别显示不同的html内容,如果sex = 0就输出红色的“男”,如果sex = 1就输出绿色的“女”。为实现这个功能,我们可以定义一个sexRenderer()方法。

index.jsp页面显示效果如下:

jsp九大默认对象 - 达呈·博林 - 达呈·博林

index.jsp中的代码分两部分。

第一部分定义sexRenderer()方法和

<%! public String sexRenderer(int sex) { if (sex == 0) { return "<span style='color:red;'>男</span>"; } else if (sex == 1) { return "<span style='color:green;'>女</span>"; } else { return ""; } }%>

第二部分循环显示保存了性别信息的数组,显示的时候将会调用sexRenderer()方法。

<% int[] people = {0, 1, 1, 0}; for (int i = 0; i < this.people.length; i++) {%> <tr> <td><%=this.sexRenderer(this.people[i])%></td> </tr><% }%>

好的,现在我们知道可以在<%!%>中定义方法和变量了。但是同时也要了解的是<%!%>已经脱离了service()方法,这就导致不能在它里边使用request,response这些默认变量了,如果想要调用request只能写成void doSomething(HttpServletRequest request)的形式了,稍微注意一下即可。

jsp九大默认对象

分别是request, response, out, pageContext, session, application, page, config, exception。

让我们看看它们与servlet中变量的对应关系。

首先要明确的是,这九个变量都只在<%%>中有效,<%!%>中是无法调用这九个对象的。实际上<%%>最后会成为service()方法中的代码,我们这里就看看如何在service()方法中获得这些对象吧。

  1. request

    public void service(ServletRequest req, ServletResponse res) { HttpServletRequest request = (HttpServletRequest) req;}

    jsp中的request就是service()中传入的req参数,因为service中定义的是ServletRequest类型,我们还需要转换成HttpServletRequest类型。

  2. response

    public void service(ServletRequest req, ServletResponse res) { HttpServletResponse response = (HttpServletResponse) res;}

    与上例相同,response也是service()中传入的res参数。

  3. out

    Writer out = response.getWriter();

    out对应着从response中取出的writer对象,负责向响应中输出数据。不过jsp和servlet中的out还是有一点区别,虽然它们都实现了java.io.Writer接口,但servlet中实际类型是java.io.PrintWriter,而jsp中实际类型是javax.servlet.jsp.JspWriter。

  4. pageContext

    这是jsp独有的,servlet里没有page的概念。

  5. session

    HttpSession session = request.getSession();

    直接从request中获得会话。

  6. application

    ServletConext application = getServletConfig().getServletContext();

    可以通过servletConfig获得ServletContext,这是整个web应用共享的一个对象。

  7. page

    Object page = this;

    page就代表当前jsp对象,也可以直接使用this引用。

  8. config

    ServletConfig config = getServletConfig();

    这是在servlet初始化时由服务器传入的对象,可以通过它获得web.xml中定义的初始化参数。

  9. exception

    想在jsp中使用这个对象需要满足一些条件了。

    首先我们要在14-05/index.jsp中故意抛出一个异常。

    <%@ page contentType="text/html; charset=gb2312" errorPage="error.jsp"%><% String str = null; str.length();%>

    str值是null,直接在null上调用length()方法会引发NullPointerException,然后我们可以看到页面第一行使用jsp指令(directive)设置了errorPage="error.jsp",这样在出现异常的时候就会自动forward到error.jsp中。现在看看error.jsp中有些什么。

    <%@ page contentType="text/html; charset=gb2312" isErrorPage="true"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>index</title> </head> <body> <%=exception%> </body></html>

    最主要的是在jsp指令(directive)中设置isErrorPage="true",这样我们就可以在jsp中使用exception对象了,实际上这个异常是从request中取出来的。

到此为止,jsp九大默认对象已经讲解完毕,其中常用的还是四个作用域对应的对象,其他的了解即可。

如何手动打包Linux(麒麟系统)的Qt程序 Qt在windows上有自带的windeployqt来帮助打包程序,但是对于linux系统来说Qt并没有自带对应的打包程序。尽管存在开源的linuxdeployqt打包程序,但是在使用的过程中会出现很多问题,对于arm架构的系统来说需要编译并修改源码等等。确定你程序所需要的插件,然后将你使用的Qt版本对应的插件复制到plugins里边。你可以根据各个库后面的路径来找到对应的库,并将它们全部复制到之前创建的lib目录下。复制你的可执行程序到bin目录下(将 your_executable。 阅读详情

相关推荐

高速窄脉冲峰值保持设计

一、目的 在激光探测领域,探测器发出的高速窄脉冲,单片机AD进行采样,很难捕捉到窄脉冲的幅值,即使使用高速AD进行采样,也存在一定的难度。因此,本方案设计了一种高速窄脉冲峰值保持电路,有助于单片机AD采样能很好的捕捉到脉冲幅值。 二、方案分析与比较 峰值保持器一般分为两种:电压型和跨导型。 方案一:电压型峰值保持器,由电压型运放、二极管、保持电容、缓冲器组成,优点是元件成本低,缺点是峰值保持存在过...

weixin_43184208的博客 9288

JSP:9大默认对象

JSP:9大默认对象1、request:HttpServletRequest接口   由服务器提供实现,并且在调用时自动注入 getParameter("username"):String/getParameterValues("hobby"):String[] getRemoteAddr():String  --封IP setAttribute("name",Object)/ge...

SEAMON_LOVE的博客 1417

火山引擎大模型语音合成双向流式API实战:Python实现与优化指南

本文详细介绍了如何利用火山引擎大模型语音合成双向流式API,通过Python实现低延迟、实时的语音合成应用。文章从核心协议解析入手,提供了完整的Python客户端实现代码,并分享了连接复用、错误重试、与LLM流式输出集成等实战优化技巧,帮助开发者快速构建智能客服、实时语音助手等AI应用。

n8m7b6v5c4的博客 1217

jsp的9大内置对象

jsp的9大内置对象

weixin_70740892的博客 843

AI+Xmind自动生成测试用例(思维导图格式)

最后:我是Walker,一个热爱分享编程知识的程序员,希望能够帮助到你!

Think_and_work的博客 2332

别再到处找模型了!手把手教你用Xinference+Docker部署本地私有大模型(Llama2/Qwen实战)

本文详细介绍了如何使用Xinference和Docker部署本地私有化大模型(如Llama2/Qwen),涵盖硬件配置、模型管理、Docker部署及性能优化等关键步骤。通过实战案例,帮助开发者快速构建企业级AI推理服务,确保数据安全与高效运行。

weixin_28683065的博客 231

JSP入门之JSP内置对象

有些对象不用声明就可以在JSP页面的Java程序片和表达式部分使用,这就是JSP的内置对象。JSP的常用内置对象有request,response,session,application和out。以上就是今天要讲的内容,本文仅仅简单介绍了JSP内置对象的使用,想要更加深入的了解JSP的内置对象可以去参考别人的博客。

qq_67211215的博客 1915

uniapp - 获取设备麦克风权限+麦克风设备列表,用户可选择切换麦克风设备功能,选择麦克风采集设备后点击录制音频外部声音+可随时暂停/继续录音+记录音频录制时长(支持在线播放试听或下载MP3文件)

uniapp获取麦克风设备列表,uniapp录制声音,Uniapp获取麦克风权限,uniapp苹果ios安卓app获取麦克风设备列表,Uniapp H5获取浏览器麦克风并实现录音,Uniapp实现麦克风权限管理与音频录制全流程,uni-app实战案例:实现H5页面麦克风权限获取与录音功能,uni-app音频录制,uniapp麦克风授权窗口,uniapp获取iOS麦克风权限,实现前端录音并播放,把音频传给后端接口处理,获取麦克风并实现录音功能,前端获取/切换麦克风播放采集音频和采集音量大小,前端调用麦克风实现

🏆 前端领域优质创作者 2980

jsp九个默认对象

jsp九个默认对象 分别是request, response, out, pageContext, session, application, page, config, exception。它们与servlet中变量的对应关系如下:首先要明确的是,这九个变量都只在中有效,中是无法调用这九个对象的。实际上最后会成为service()方法中的代码,我们这里就看看如何在service()方法中获得

Agreal的专栏 1645

get_ccopt系列命令介绍

get_ccopt_property:用来获取cts阶段,clock tree上所有的参数信息,可以通过get_ccopt_property –help *获取所有参数。get_ccopt_skew_group_delay:用来获取skew group的相关信息,可以通过筛选出特定条件下skew_group的参数,如skew_group下latency最长是多少;get_ccopt_clock_tree_source_groups:获取clock tree的source group名字;

芯冰乐 280

yolov5直接调用zed相机实现三维测距(python)

zed代码比较简洁,但是一定要把环境配置好,后续自己会把他当做普通双目标定,去对比分析效果,并完善相关功能。

积极向上的mr.d的博客 1万+

JSP九大内置对象

内置对象特点:1.            由JSP规范提供,不用编写者实例化。2.            通过Web容器实现和管理3.            所有JSP页面均可使用4.            只有在脚本元素的表达式或代码段中才可使用(&lt;%=使用内置对象%&gt;或&lt;%使用内置对象%&gt;) 常用内置对象:1.            输出输入对象:request对象、r...

gaoyong_stone的博客 252

图像处理系列——直方图之直方图规定化(Histogram Specification)

直方图规定化也叫直方图匹配(Histogram Matching),让原图像的像素分布与规定图像的像素分布保持一致。直方图规定化比直方图均衡化更加灵活,算是直方图均衡的变种。常用于图片风格一致性的自动处理,能有效的改善图像的整体或局部的特征,广泛运用在图像增强处理中。

nanke_yh的博客 4594

jsp--三大页面指令--六大动作--九大默认对象

jsp三大页面指令 六大动作 九大默认对像

qq_52889028的博客 454

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

JSP基础知识总结

JSPJSP基础基本语法表达式格式:声明格式:Jsp与servlet的区别jsp的运行原理为什么jsp不能取代servlet?JSP的三个指令1. page 指令2. Include指令:3. taglib指令六大页面动作存放数据的4大范围9大默认对象四大域对象:1.page:2.request3.session:4.application: JSP基础 jsp工作原理:web服务器(tomcat\jboss等)先把jsp文件翻译成servlet的java文件,然后编译成字节码文件,就是.class文件,当

mhfaaa的博客 990

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JSP

JSP9大默认对象application对象sessionpageContext页面跳转jsp页面跳转Servlet页面跳转跟踪用户的4大方法隐藏域URL重写Cookie用户提交数据的预处理 9大默认对象 JSP容器根据servlet API而提供了某些隐含对象。可以使用标准的变量来访问这些对象,可以在JSP页面直接使用这九大对象 page this 封装页面对象,是Object类型的,该对象代表了正在运行的由JSP文件产生的类对象,相当于this。一般情况下不建议使用该对象 是Object类型的,

Liuxin2448的博客 230

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

JSP(下)——JSP九大内置对象、四大作用域、EL补充、JSP动作标签、JSTL标签 && 练习

文章目录JSP九大内置对象四大作用域 0EL进阶 JSP九大内置对象 略过略过 内置对象:也称隐式对象,在JSP中已经初始化并封装了,所以可以直接使用。 Application 服务器对象(域对象) Session 会话对象(域对象) Page 描述页面的对象 PageContext 页面全局对象(域对象) Config 配置对象 Request 请求对象(域对象) Resopnse 响应对象 Out 页面输出对象 Exception 异常处理对象 九大内置

Today_He的博客 412

对于JSP几大对象的一点认识

在JSP页面,默认就包含9大隐式对象(即不需要再new出来); 最常用的是request、response对象 request对象的常用两个方式是getParameter(),该方法返回是String类型,另一个是getParameterValues(),该方法返回的是String类型的数组。 其中以上两个方法中的参数一般为JSP页面标签的name属性的值,返回标签的value.

yuancl的专栏 379

java web day7

什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象。jsp常见的九大隐式对象:request: HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求response:HttpServletResponse,响应对象session: HttpSession ,会话对象,它同时也是域对象,作用范围一次会话application:ServletContext,上下文对象,它同时也是域对象,作用范围整个项目。

2501_90404624的博客 904

Jsp 9大内置对象(面试)

Jsp 9大内置对象 Js:内置对象 String Math Array Date… 将一个jsp文件转换为java文件的时候,服务器默认的为转换的java文件创建9个可以直接使用的servletapi对象 request ----HttServletRequest response----HttpServletReponse session----HttpSession applicat...

weixin_43495783的博客 534

jsp笔记

Jsp  Web服务器访问jsp的过程. 如果是第一次访问jsp文件,web服务器会把jsp翻译成一个servlet文件.再将其编译成一个.class文件.然后加载到内存.蓝色的地方也是为什么java的空间要贵一些.  Jsp的运行原理  Jsp的语法 1.指定元素:用于从jsp发送一个信息到容器,比如设置全局变量...

weixin_34166472的博客 86

网页开发基础 :JSP

asds在进行 Java Web 应用开发对, JSP 是必不可少的。因此在学习 Java Web 应用开发对,还必须拿握 JSP 的语法。本章将向渎者介绍 JSP 语法中的 JSP 页面的基本构成、指令标识、脚本标识、注释以及动作标识等内客。 asdsadadsdsdssdasdasdsadasdasdasdsadassdasdsadasdasdsadasdsadassadasdas————《JavaWeb从入门到精通》 为什么要学习 jsp 技术 什么是 jsp? Servlet 程序输出 h.

置身于量子事业的软件开发爱好者 387

jsp基础知识点详解

1Jsp是java server pages和servlet都是sun公司的技术,都可以开发动态网页。Jsp一般放在web模板目录下面。Jsp是继承servlet的。 2为什么一些request一些东西可以直接可以用?因为他是继承servlet的而且里面request一些变量早就定义好了的。 3虽然jsp和servlet都基本可以相互作用,但是人们默认jsp做视图处理,servlet负责逻辑数...

thewebcode 189

servlet生命周期

1.生命周期 我们之前使用的都是javax.servlet.http.HttpServlet,这个类实现了javax.servlet.Servlet接口,而这个接口中定义的三个方法是所有servlet都必须实现的。 package javax.servlet; public interface Servlet { void init(ServletConfi...

weixin_30405421的博客 72

EL表达式使用范例

EL表达式默认依次从下列对象中取值: page,request,session,application 这四个隐含对象是EL的默认取值范围 jsp九大内置对象: request response out application(context) config session exception page pagecontext packa...

weixin_42976232的博客 413
上一篇: C++通过OCCI操作Oracle数据库详解
下一篇: Android UI之ProgressBar(进度条)
mincheat
博客等级 码龄17年 46粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值