JSP实现数据传递与保存

news2024/11/20 16:35:22

1.HTML页面转换JSP页面
直接再HTML页面最顶端添加page指令,修改文件后缀名;反之;

2.JSP内置对象

对象

 描述

request

每当客户端请求JSP页面时,JSP引擎会制造一个新的request对象来代表这个请求。

response

当服务器创建request对象时会同时创建用于响应这个客户端的response对象

out

out对象用来在response对象中写入内容。

session

session对象用来跟踪在各个客户端请求间的会话。

application

该对象代表web应用本身,整个web应用共享一个application对象。

config

这个对象允许开发者访问Servlet或者JSP引擎的初始化参数。

pageContext

页面上下文对象,这个对象存储了内置对象的引用。

page

这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表

exception

这个对象包装了从先前页面中抛出的异常信息。

 3.request对象常用方法

方法名称

 说明

String getParameter(String name)

根据表单组件名称获取提交数据

String[ ] getParameterValues(String name)

获取表单组件对应多个值时的请求数据

void setCharacterEncoding(String charset)

指定每个请求的编码

RequestDispatcher getRequestDispatcher(String path)

返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求

 4,get与post区别

比较项

get

post

参数出现在URL

长度限制

安全性

URL可传播

Tomcat中对于post方法提交的表单采用的默认编码为ISO-8859-1,而这种编码格式不支持中文字符。

5. 解决表单乱码
1:post请求出现乱码
request.setCharacterEncoding("utf-8");
2:get请求出现乱码
治标的方法:new String(s.getBytes("iso-8859-1"),"utf-8");
治本的方法:配置tomcat\conf\server.xml文件

6.response
response对象用于响应客户请求并向客户输出信息

7.response对象常用方法

方法名称

 说明

void addCookie(Cookie cookie

给客户端添加一个Cookie对象,以保存客户端的信息

PrintWriter getWriter()

返回一个输出字符流

void sendRedirect()

将请求重新定位到一个不同的URL,即页面重定向

void setCharacterEncoding(String encoding)

设置字符编码类型为encoding

8. 请求的转发
转发的作用
在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理
转发的实现
RequestDispatcher对象的forward()方法

9.转发和重定向
转发:在服务器端发挥作用,将同一请求在服务器资源之间进行传递,客户端浏览器的地址栏不会显示转向后的地址
重定向:在客户端发挥作用,通过发送一个新的请求实现页面转向,在地址栏中可以显示转向后的地址

10.out对象

属性

说明

print

向页面输出显示

println

向页面输出显示,在结尾处添加换行

flush

刷新输出流

11. session对象
session机制是一种服务端的机制,在服务端保存信息。
用于存储与用户的会话信息

 方法名称

说明

void setAttribute(String key,Object value)

key/value的形式保存对象值

Object getAttribute(String key)

通过key获取对象值

void invalidate()

设置session对象失效

String getId()

获取sessionid

void setMaxInactiveInterval(int interval)

设定session的非活动时间

int getMaxInactiveInterval()

获取session的有效非活动时间(以秒为单位)

void removeAttribute(String key)

session中删除指定名称(key)所对应的对象

 12.session与窗口的关系
每个session对象都与一个浏览器窗口对应,重新开启一个浏览器窗口,可以重新定义一个session对象。
通过超链接打开的新窗口,新窗口的session与其父窗口的session相同。
每个session都有一个唯一的sessionid
public String getId();

13.使用session对象存取数据
1、使用属性保存数据
2、从属性中读取数据,必要时需要进行数据类型的转换

14.session会话的清除和过期
程序主动清除session数据
        设置会话失效:session.invalidate();
        只移除会话的一个属性:session.removeAttribute(String name);
服务器主动清除长时间没有再次发出请求的session
        修改tomcat服务器的web.xml,单位是分钟
        <session-config>
               <session-timeout>30</session-timeout>
        </session-config>

15.会话的生命周期
用浏览器访问服务器——产生会话
通过浏览器在网站登录——在会话中保存数据
登录成功后用个人身份进行访问——会话有效期内
关闭了浏览器——结束会话
服务器主动结束会话——会话到期
使会话失效、删除属性——及时释放会话资源
程序主动结束会话、会话到期——会话中的数据丢失

16.jsp页面的包含操作
1.使用<%@include file= “URL”%>指令实现静态包含
使用<jsp:include page="URL“>实现动态包含

17.动态包含和静态包含的区别

静态包含

动态包含

<%@include%>

<jsp:include>

先将页面包含,后执行页面代码,即将一个页面的代码复制到另一个页面中。

先执行页面代码,后将页面包含,即将一个页面的运行结果包含到另一个页面中。

被包含的页面内容发生变化时,包含页面将会被重新编译。

被包含页面内容发生变化时,包含页面不会重新编译。

18.application对象
application对象代表web应用本身,整个web应用共享一个application对象,该对象主要用于在多个JSP页面或者Servlet之间共享变量。
application对象开始于服务器的启动,终止于服务器的关闭。
application对象实现了用户间的数据共享,可以存放全局变量。

19.application对象的常用方法        
        

20. 对象的作用域
作用域的分类
page作用域:对应的作用域访问对象为pageContext
request作用域:对应的作用域访问对象为request对象
session作用域:对应的作用域为session对象
application作用域:...为application对象

21.

名称

说  明

page作用域

在一个页面范围内有效,通过pageContext对象访问

request作用域

在一个请求范围内有效

session作用域

在一次会话范围内容有效

application作用域

在一个应用服务器范围内有效

22.Cookie
Cookie是Web服务器保存在客户端的一系列文本信息
Cookie的作用
对特定对象的追踪(Cookie能告诉在线广告商广告被点击的次数,从而可以更精确的投放广告)
实现各种个性化服务(Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务)
简化登录(Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点)
安全性能
容易泄露信息

23.创建Cookie对象
Cookie newcookie = new Cookie(String key,String value);
由服务器端向客户端写入Cookie对象
Cookie[] cookied = request.getCookies();

24.Cookie类的常用方法

方法名称

说  明

void setMaxAge(int expiry)

设置cookie的有效期,以秒为单位

void setValue(String value)

cookie创建后,对cookie进行赋值

String getName()

获取cookie的名称

String getValue()

获取cookie的值

int getMaxAge()

获取cookie的有效时间,以秒为单位

25.Web应用中的连接池技术
开发步骤:
添加数据库驱动文件:拷贝MySQL驱动包到Tomcat安装目录下的lib目录中。
配置context.xml文件:context.xml在Tomcat安装目录下的conf目录中。
修改BaseDao中获取Connection的方式。通过JNDI API查找并获取数据源。
有一点必须注意,现在的数据库连接池是在Tomcat上配置的,所以此程序只能在web下运行,而不能使用application程序运行。

26.Javabean
JavaBean是用Java开发的可以跨平台的可重用组件。
从JavaBean的功能上可以分为
封装数据
封装业务
JavaBean一般情况应满足以下要求
JavaBean的优势
解决代码重复编写,减少代码冗余
功能区分明确
提高了代码的维护性

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

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

相关文章

keycloak-鉴权springboot

一、环境描述 keycloak鉴权springboot的方式&#xff0c;此处简单介绍&#xff0c;springboot官方也提供了demo https://github.com/keycloak/keycloak-quickstarts/tree/latest/spring/rest-authz-resource-server 以及文档说明 Securing Applications and Services Guide…

ruoyi-nbcio-plus的Vue3前端一些插件使用介绍(二)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a; http://122.227.135.243:9666 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbach…

微信小程序自动化测试——微信小程序云测服务!

MiniTest 微信小程序云测服务是一套由微信测试团队自主研发&#xff0c;联合WeTest云真机能力&#xff0c;共同推出的微信小程序自动化测试服务。 服务基于云真机&#xff0c;支持开发者简单快捷地实现小程序智能化Monkey测试&#xff0c;录制回放&#xff0c;自定义测试和性能…

基于springboot+vue的医疗报销系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

YOLO算法改进Backbone系列之:RepViT

摘要&#xff1a;近年来&#xff0c;与轻量级卷积神经网络(cnn)相比&#xff0c;轻量级视觉变压器(ViTs)在资源受限的移动设备上表现出了更高的性能和更低的延迟。这种改进通常归功于多头自注意模块&#xff0c;它使模型能够学习全局表示。然而&#xff0c;轻量级vit和轻量级cn…

猫咪冻干的价格差别为什么那么大?价格实惠的主食冻干分享

随着养猫科学知识的普及&#xff0c;越来越多的铲屎官选择更符合猫咪饮食天性的主食冻干喂养。尽管有些铲屎官因价格犹豫&#xff0c;但像我这样的资深铲屎官深知其益处。尽管其价格稍高于烘焙粮和膨化粮&#xff0c;但主食冻干为猫咪健康带来的实际好处是无法估量的。 对于像我…

约课小程序有哪些功能

​约课小程序为教育机构、教师和学生提供了便捷的预约和管理服务&#xff0c;有效提升了教学效率和用户体验。在这篇文章中&#xff0c;我们将介绍约课小程序常见的功能&#xff0c;帮助教育机构更好地了解如何利用小程序来提升服务质量和管理效率。 1. **课程预约功能**&…

基于openKylin与RISC-V的MindSpore AI项目实践

项目目标&#xff1a; 在openKylin系统上安装和配置MindSpore框架。开发一个简单的图像分类模型&#xff0c;并在RISC-V平台上进行训练和推理。根据RISC-V的特性&#xff0c;对MindSpore框架进行必要的优化。 目录 项目目标&#xff1a; 训练模型 编写训练代码&#xff0c;设…

美易官方《盘前:美国股指期货温和走低》

美国股指期货在盘前交易中温和走低&#xff0c;市场情绪在美联储主席鲍威尔即将作证前显得谨慎。投资者对即将公布的证词内容充满期待&#xff0c;以寻求对美联储未来货币政策的更多线索。 鲍威尔即将在国会作证&#xff0c;这是市场关注的焦点事件之一。他的证词可能会对美元汇…

用有名管道实现进程AB之间的对话

题目 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <errno.h> #include <fcntl.h> #include <string.h> #include <unistd.h> int main(int argc, const char *argv[]) {//创建一个有名管道文件if(mk…

【力扣白嫖日记】1045.买下所有产品的客户

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1045.买下所有产品的客户 表&#xff1a;Customer 列名类型customer_idintproduct_keyint 该表可能包含重复…

市场复盘总结 20240305

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 25% 最常用的…

【打工日常】使用docker部署轻量的运维监控工具

一、Uptime-Kuma介绍 Uptime-Kuma是一个轻量级的自动化运维监控工具&#xff0c;最为引人注目的特点是其出色的监控Dashboard面板。部署简单&#xff0c;工具轻量又强大。而且&#xff0c;Uptime-Kuma是开源免费的&#xff0c;并支持基于Docker的部署方式。它支持网站、容器、数…

动静态库-动态库加载

动静态库 前言引入 一、静态库1. 创建静态库①原理②创建 2. 使用静态库①借助编译选项②只需要带库名 3. 小结 二、动态库1. 创建动态库2. 使用动态库 三、 动态库加载原理——进程地址空间1. 地址①程序没有被加载前的地址②程序加载后的地址 2. 原理①动态库的地址②原理 前…

实用干货:分享一个自动切换输入法的IDE插件

大家好&#xff0c;我是大澈&#xff01; 本文约1100字&#xff0c;整篇阅读大约需要3分钟。 关注微信公众号&#xff1a;“程序员大澈”&#xff0c;免费加入问答群&#xff0c;一起交流技术难题与未来&#xff01; 现在关注公众号&#xff0c;免费送你 ”前后端入行大礼包…

C++入门全集(5):内存管理

前言 一、内存区域划分 二、C的内存管理方式 2.1 对内置类型 2.2 对自定义类型 三、new和delete的底层实现 四、new和delete的原理 五、定位new 六、malloc/free和new/delete 前言 在C中&#xff0c;内存管理是不可避免的一门必修课。C对内存的自由度使其获得了更高的…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:点击回弹效果)

设置组件点击时回弹效果。 说明&#xff1a; 从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 clickEffect clickEffect(value: ClickEffect | null) 设置当前组件点击回弹效果。 系统能力&#xff1a; SystemCapabilit…

no declaration can be found for element ‘rabbit:connection-factory‘

spring-mvc 配置 rabbitmq 出现问题。 我的解决方案如下&#xff1a; 1 找到配置文件 spring-rabbitmq.xml 我的配置文件叫&#xff1a;spring-rabbitmq.xml&#xff0c;你们按照自己的查找。 2 定位如下URI 接着 Ctrl鼠标左键 3 确定spring-rabbit-x.x.xsd 按照步骤2 &…

回溯算法01-组合(Java)

1.组合 题目描述 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4]]示例 2&#xff1a; 输入&#x…

巨控GRM561/562/563Y系列标准OPCUA客户端协议访问西门子1200PLC

驱动名称: 标准OPCUA客户端协议 描述: 本机作主机,读写其他外部设备数据 ◆寄存器类型: UA寄存器 地址范围: 可用数据类型&#xff1a;[BIT] [INT8] [INT16] [INT32] [INT64] [UINT8] [UINT16] [UINT32] [UINT64] [FLOAT32] [FLOAT64] ◆寄存器类型: 设备特殊寄存器 地址…