第四节:jsp内的request和response对象

Jsp内置对象

Requset,当客户端请求一个jsp页面的时候,jsp页面所在的服务器端将客户端发出的所有请求信息封装在内置对象request中,因此用该对象可以获得客户端提交的信息

方法:

Void setAttribute(String key,Object obj)设置属性的属性值

Object getAttribute(String name)返回指定属性的属性值

String getParameter(String name)返回name指定的参数的参数值

String[] getParameterValues(String name)返回包含参数name的所有值的数组

举个例子:

这是NewFile1,NewFile文件

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body><form action="NewFile.jsp">
admin:<input type="text" name="admin"/></br>
</br>
password:<input type="text" name="password"/>
<input type="submit" value="点我"/>
</form></body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("admin");
String password = request.getParameter("password");
out.println(name);
out.println(password);%></body>
</html>

response对象对客户端的请求做出动态响应,通常为改变contenttype属性值,设置响应表头和respon重定向

改变ontenttType属性值:

setContentType(String s)

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body><form action="">
<input type="submit" value="wendang" name="submit">
<input type="submit" value="excel" name="submit">
</form>
<%String a = request.getParameter("submit");
if("wendang".equals(a)){response.setContentType("application/msword");
}else if("excel".equals(a)){response.setContentType("application/vnd.ms-excel");
}%>
</body>
</html>

setHeader(String name,String value)

response.setHeader("refresh","3");3秒刷新一次

response.setHeader("refresh","3;url=another.jsp");3秒后跳转到another页面

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%@ page import="java.util.Calendar" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body><%
Calendar c = Calendar.getInstance();
out.print(c.get(Calendar.SECOND));
response.setHeader("refresh", "3");
%></body>
</html>
  1. c.get(Calendar.SECOND):获取Calendar对象c中的当前秒数。
  2. "" + c.get(Calendar.SECOND):将获取到的秒数转换为字符串。这是因为out.print方法期望一个字符串参数,所以这里使用了字符串连接操作将整型秒数转换为字符串。
  3. out.print(...):这是PrintWriter对象的一个方法,用于将字符串发送到客户端(通常是浏览器)。在这个上下文中,out通常是HttpServletResponse的输出流。

 sendRedirect(String url)实现重定向

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body><form action="">
<input type="submit" value="wendang" name="submit">
<input type="submit" value="excel" name="submit">
</form>
<%String a = request.getParameter("submit");
if("wendang".equals(a)){response.sendRedirect("NewFile.jsp");
}else if("excel".equals(a)){response.setContentType("application/vnd.ms-excel");
}%>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/62341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Verilog使用liberty文件中cell单元的demo

Liberty&#xff08;.lib&#xff09;文件是用来描述标准单元库中逻辑单元&#xff08;如门电路、触发器等&#xff09;的时序和功耗特性的&#xff0c;不是用来直接定义Verilog中的元件。在Verilog设计中&#xff0c;我们通常通过实例化模块&#xff08;module&#xff09;来创…

【软考速通笔记】系统架构设计师⑧——系统质量属性与架构评估

文章目录 一、前言二、软件系统质量属性2.1 开发期质量属性2.2 运行期质量属性 三、质量属性场景描述四、系统架构评估方法4.1 方法分类4.2 软件架构分析方法4.3 架构权衡分析法4.4 成本效益分析法 一、前言 笔记目录大纲请查阅&#xff1a;【软考速通笔记】系统架构设计师——…

如何寻找适合的HTTP代理IP资源?

一、怎么找代理IP资源&#xff1f; 在选择代理IP资源的时候&#xff0c;很多小伙伴往往将可用率作为首要的参考指标。事实上&#xff0c;市面上的住宅IP或拨号VPS代理IP资源&#xff0c;其可用率普遍在95%以上&#xff0c;因此IP可用率并不是唯一的评判标准 其实更应该关注的…

FCBP 认证考试要点摘要

理论知识 数据处理与分析&#xff1a;包括数据的收集、清洗、转换、存储等基础操作&#xff0c;以及数据分析方法&#xff0c;如描述性统计分析、相关性分析、数据挖掘算法等的理解和应用 。数据可视化&#xff1a;涉及图表类型的选择与应用&#xff0c;如柱状图、折线图、饼图…

初识C++:指针与引用的异同,inline关键字

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 一.指针和引用的关系 1.1 概念 1.2 相似点 1.3 不同点 二.inline关键字 2.1 概念 2.2 工作原理 2.3 使用场景 2.4 注意事项 三.nullptr 3.1 引入背景 3.2 语义和类型 3.3 使用场景 兄弟们共勉 &#xff01;&…

【软考速通笔记】系统架构设计师⑤——软件工程基础知识

文章目录 一、前言二、基础知识点2.1 软件危机2.2 软件生命周期 三、软件过程模型&#xff08;论文&#xff09;3.1 瀑布模型3.2 原型模型3.3 螺旋模型3.4 敏捷模型3.5 软件统一过程模型3.6 软件成熟度模型3.7 软件成熟度模型集成 四、需求工程五、软件测试5.1 根据程序执行状态…

DICOM医学影像应用篇——伪彩色映射 在DICOM医学影像中的应用详解

目录 引言 伪彩色映射的概念 基本原理 查找表&#xff08;Look-Up Table, LUT&#xff09; 步骤 示例映射方案 实现伪彩色映射的C代码 代码详解 伪彩色处理效果展示 总结 扩展知识 LUT 的基本概念 LUT 在伪彩色映射中的应用 示例 引言 在医学影像处理中&#xff0c…

韦东山stm32hal库--定时器喂狗模型按键消抖原理+实操详细步骤

一.定时器按键消抖的原理: 按键消抖的原因: 当我们按下按键的后, 端口从高电平变成低电平, 理想的情况是, 按下, 只发生一次中断, 中断程序只记录一个数据. 但是我们使用的是金属弹片, 实际的情况就是如上图所示, 可能会发生多次中断,难道我们要记录3/4次数据吗? 答:按键按下…

8、运算符

1、运算符相关概念 运算符&#xff1a; 具有一定运算规则的符号 运算符分类&#xff1a; 按照功能分&#xff1a; 赋值运算符 算术运算符 关系运算符 逻辑运算符 其他运算符 位运算符 按照操作数分&#xff1a; 单目运算符 双目运算符 三目运算符 表达式 具有一定意义的式子&…

【Linux网络编程】第二弹---Socket编程入门指南:从IP、端口号到传输层协议及编程接口全解析

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】 目录 1、Socket 编程预备 1.1、理解源 IP 和目的 IP 1.2、认识端口号 1.2.1、端口号范围划分 1.2.2、理解 &q…

算法训练营day08(字符串01:反转字符串,反转字符串2,替换数字,反转字符串里的单词,右旋转字符串)

第四章 字符串part01今日任务 ● 344.反转字符串 ● 541. 反转字符串II ● 卡码网&#xff1a;54.替换数字 ● 151.翻转字符串里的单词 ● 卡码网&#xff1a;55.右旋转字符串详细布置 344.反转字符串 建议&#xff1a; 本题是字符串基础题目&#xff0c;就是考察 reverse 函数…

Java中三种常用布局方式

引言 在Java Swing和JavaFX中&#xff0c;布局管理器&#xff08;Layout Managers&#xff09;用于控制组件&#xff08;如按钮、文本框等&#xff09;在容器&#xff08;如窗口、面板等&#xff09;内的位置和大小。下面介绍Java Swing中常用的三种布局方式&#xff1a; 1. Fl…

如何借助AI生成PPT,让创作轻松又高效

PPT是现代职场中不可或缺的表达工具&#xff0c;但同时也可能是令人抓狂的时间杀手。几页幻灯片的制作&#xff0c;常常需要花费数小时调整字体、配色与排版。AI的飞速发展为我们带来了革新——AI生成PPT的技术不仅让制作流程大大简化&#xff0c;还重新定义了效率与创意的关系…

Leetcode(快慢指针习题思路总结,持续更新。。。)

这种模式&#xff0c;有一个非常出门的名字&#xff0c;叫龟兔赛跑。这种算法的两个指针的在数组上&#xff08;或是链表上&#xff0c;序列上&#xff09;的移动速度不一样。快的一个指针肯定会追上慢的一个&#xff08;可以想象成跑道上面跑得快的人套圈跑得慢的人&#xff0…

基于时间维度优化“开源 AI 智能名片 S2B2C 商城小程序”运营策略:提升触达与转化效能

摘要&#xff1a; 随着数字化商业生态的蓬勃发展&#xff0c;“开源 AI 智能名片 S2B2C 商城小程序”融合前沿技术与创新商业模式&#xff0c;为企业营销与业务拓展带来新机遇。本文聚焦于用户时间场景维度&#xff0c;深入剖析如何依据不同时段用户行为特征&#xff0c;精准适…

【消息序列】详解(8):探秘物联网中设备广播服务

目录 一、概述 1.1. 定义与特点 1.2. 工作原理 1.3. 应用场景 1.4. 技术优势 二、截断寻呼&#xff08;Truncated Page&#xff09;流程 2.1. 截断寻呼的流程 2.2. 示例代码 2.3. 注意事项 三、无连接外围广播过程 3.1. 设备 A 启动无连接外围设备广播 3.2. 示例代…

二刷代码随想录第15天

513. 找树左下角的值 找到深度最大的点&#xff0c;遍历方式左边节点在右边节点前面&#xff0c;找到就返回&#xff0c;一定就是最左下角的值了 class Solution { public:int max_depth -1;int result 0;int findBottomLeftValue(TreeNode* root) {traversal(root, 0);ret…

vue3的prop

- 父组件需要传多个值给子组件 把值放对象&#xff0c;通过v-bind传整个对象 父组件 <script setup> import BlogPost from ./BlogPost.vue import { reactive } from vue; // 要传给子组件的所有值&#xff0c;用reactive包了该对象后&#xff0c;父组件的值变了&#…

Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成

Ubuntu下的DoxygenVScode实现C/C接口文档自动生成 1、 Doxygen简介 Doxygen 是一个由 C 编写的、开源的、跨平台的文档生成系统。最初主要用于生成 C 库的 API 文档&#xff0c;但目前又添加了对 C、C#、Java、Python、Fortran、PHP 等语言的支持。其从源代码中提取注释&…

uniapp强制修改radio-group内单选组件的状态方法

在uniapp开发中&#xff0c;需要在radio-group内部切换时做判断&#xff0c;提醒客户是否要变换radio的值&#xff0c;但是大家知道radio是单选组件&#xff0c;往往你点击后&#xff0c;是不能再修改状态的&#xff0c;就算你在点击后做判断&#xff0c;修改current的值&#…