JSP实现数据传递与保存

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.mzph.cn/news/721876.shtml

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

相关文章

Linux-信号2

文章目录 前言一、信号是如何保存的&#xff1f;int sigemptyset(sigset_t *set);int sigfillset(sigset_t *set);int sigaddset (sigset_t *set, int signo);int sigdelset(sigset_t *set, int signo);int sigismember&#xff08;const sigset_t *set, int signo);int sigpen…

VS统计代码行数

1.使用查找和替换方式 按CTRLSHIFTF (Find in files)&#xff0c;勾上支持正则表达式&#xff0c; 然后输入搜索内容&#xff1a;^:b*[^:b#/].*$ 如图所示&#xff1a; 2.查看查询结果 需要注意&#xff1a;#开头和/开头或者空行都不计入代码量。

实名认证实现很难?Java实名认证三要素+人像接口代码

大数据时代&#xff0c;是否还在为用户信息的真实性头疼不已&#xff1f;是否还在担心业务中出现冒名顶替的风险&#xff1f;是否还在为实现线上平台实名制而发愁&#xff1f;今天小编为您带来了实时联网、便于集成、快速核验的翔云身份证三要素人像实名认证接口集成方式与代码…

【研发日记】Matlab/Simulink技能解锁(二)——在Function编辑窗口Debug

目录 前言 行断点 条件断点 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 行断点 当Matlab Function出现异常时&#xff0c;如果能确定大致的代码段&#xff0c;就可以在相应的行上设置一个断点&#xff08;Breakpoint&#xff09;&…

算法D34 | 贪心算法4 | 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

860.柠檬水找零 本题看上好像挺难&#xff0c;其实挺简单的&#xff0c;大家先尝试自己做一做。代码随想录 分5/10/20讨论找零方案即可。 Python: class Solution:def lemonadeChange(self, bills: List[int]) -> bool:ch5 0ch10 0for b in bills:if b 20:ch5 - 1if ch1…

vs2022 qt 关于lnk2001和2019同时报错的问题

需要像qt中添加模块&#xff0c;这里&#xff0c;缺少qtopenglwidgets模块

大数据分析课----实时更新

1&#xff1a;Anaconda3 windows 安装 &#xff1a; 去官网下载&#xff1b; 然后安装好直接点next 点 i agree&#xff1b; 自己的电脑选第一个&#xff1b;学校的话选All Users &#xff1b; 选择自己存放的目录&#xff1b; 选前三个&#xff1b; 安装即可&#xff1b; 一直…

解决Maven项目中的依赖冲突

1. 排查依赖冲突 在IDEA中下载插件 Maven Helper用于排查依赖版本冲突。 打开项目的pom.xml文件&#xff0c;点击下方的【Dependency Analyzer】按钮切换到依赖解析页面。 2. 解决版本依赖 在依赖解析页面进行依赖冲突排查操作&#xff1a; 点击 【Exclude】 后会在爆红处所对…

当Linux 磁盘满了,查看大文件并删除

当你的Linux磁盘空间满了时&#xff0c;可以通过以下步骤查找大文件并删除它们&#xff1a; 检查磁盘空间&#xff1a; 使用以下命令检查磁盘空间的使用情况&#xff1a; df -h这将显示文件系统的使用情况&#xff0c;包括每个文件系统的总大小、已用空间、可用空间和挂载点。 …

为PDF创建目录(侧边栏目录)

通过可以新建书签的pdf阅读器。 知云翻译&#xff1a;可以新建书签和子书签。 Adobe Acrobat&#xff1a;只能新建书签&#xff0c;不能建立子书签。

Java通过反射给注解赋值

在用java导出Excel的时候&#xff0c;表头不能写死&#xff0c;而是根据情况变化的。 实体类如下&#xff1a; public class EquSysExportNoChainVo {Excel(name "")private String thisValue; //当前值 } 给实体类的Excel的name赋值的方法如下&…

《操作系统原理》算法总结

一、进程调度算法 先来先服务调度算法&#xff08;FCFS&#xff09; 每次调度是从就绪队列中&#xff0c;选择一个最先进入就绪队列的进程&#xff0c;把处理器分配给该进程&#xff0c;使之得到执行。该进程一旦占有了处理器&#xff0c;它就一直运行下去&#xff0c;直到该…

String 类 经典例题题集

一、把字符串转换成整数 (atoi) 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法如下&#xff1a; 读入字符串并丢弃无用的前导空格检查下一个字符…

中国企业走向世界,新加坡共和理工学院师生首站到访开源网安交流

近年来&#xff0c;中国企业在众多领域突飞猛进&#xff0c;不断追赶国际头部企业技术水平&#xff0c;甚至在某些领域已经达到国际领先水平&#xff0c;国内企业的最佳实践逐渐成为了全球精英学习研究的对象。 3月4日&#xff0c;由新加坡五所国立理工学院之一的新加坡共和理工…

Docker 干货系列 (持续更新)

dive 直接用本地镜像名称来启动&#xff0c;不需要走 hub dive.sh IMAGE_NAME"${1}" TMP_FILE/tmp/dive-tmp-image.tar docker save "$IMAGE_NAME" > $TMP_FILE && dive $TMP_FILE --sourcedocker-archive && rm $TMP_FILE示例&#…

Pytorch_1_基本语法

一、Pytorch的基本元素操作 1.引入torch from __future__ import print_function import torch 2.创建矩阵 x torch.empty(5,3) print(x) 3.输出结果&#xff1a; tensor([[7.9191e34, 1.1259e24, 1.2359e-42], [4.0824e-40, 1.1379e-35, 2.5353e30], [8.…

金三银四刷完这个笔记,17K不能再少了....

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;得准备面试了&#xff0c;又不知道从何下手&#xff01;为了帮大家节约时间&#xff0c;特意准备了一份面试相关的资料&#xff0c;内容非常的全面&#xff0c;真的可以好好补一补&#xff0c;希望大家在都能拿到理想…

数学分析(单多变量微积分)复习和学习大纲

前言&#xff1a;开始整理这些资料的时候&#xff0c;已经是本人研一下学期的开学了。然而在遥远的4年前本人因为疫情的原因居家学习的时候&#xff0c;数学分析一度是我的噩梦。但时至今日&#xff0c;越来越发现这些基础的数学问题的重要性。尽管本人就读的本科一再强调其学生…

【HTML】day01

列表 作用&#xff1a;布局内容排序整齐的区域。 列表分类&#xff1a;无序列表、有序链表、定义列表 无序列表 <ul><li>test</li><li>test</li><li>test</li><li><h1>h1</h1></li></ul><!DOCTYPE…

GDOI2024 游记

推荐在 cnblogs 上阅读。 GDOI2024 游记 Day -6 元宵节&#xff0c;得知自己可以参加 GDOI&#xff0c;惊喜坏了。 要知道&#xff0c;我 CSP-S 2&#xff0c;NOIP 没参加。居然去了 GDOI&#xff01; 真的有很多很多想说的话&#xff0c;非常非常感谢教练。但是这里不作抒…