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;#开头和/开头或者空行都不计入代码量。

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

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

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】 后会在爆红处所对…

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

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

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

一、进程调度算法 先来先服务调度算法&#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;由新加坡五所国立理工学院之一的新加坡共和理工…

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

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

【HTML】day01

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

216.组合总和|||

// 定义一个名为Solution的类 class Solution {// 初始化一个用于存储结果的列表&#xff0c;其中每个元素是一个整数列表&#xff0c;表示一组组合List<List<Integer>> result new ArrayList<>();// 初始化一个LinkedList用于存储当前路径上的整数LinkedLi…

Linux 驱动 中断(一)

中断是指计算机运行过程中&#xff0c;出现某些意外情况需主机干预时&#xff0c;机器能自动停止正在运行的程序并转入处理新情况的程序&#xff0c;处理完毕后又返回原被暂停的程序继续运行。 在 Linux 中&#xff0c;中断处理是操作系统与硬件设备之间通信的重要方式之一。Li…

边缘计算网关在机床生产中的应用-天拓四方

随着工业4.0的推进&#xff0c;物联网&#xff08;IoT&#xff09;技术在各个工业领域中的应用日益广泛。特别是在机床行业&#xff0c;物联网技术的引入不仅提高了生产效率&#xff0c;还实现了对机床设备的实时监控和远程维护。在这一背景下&#xff0c;边缘计算网关的角色愈…

android开发实例,retrofit解析

面试官的问题&#xff1a; &#xff08;1&#xff09;问&#xff1a;点击一个图标到这个应用启动的全过程&#xff08;前面是项目经验没啥好说的&#xff09;。 答&#xff1a;点击图标后通过startActivity远程调用到ams中&#xff0c;ams中将新启动的activity以activityrecor…

2024新版SonarQube+JenKins+Github联动代码扫描(2)-SonarQube代码扫描

文章目录 前言一、docker方式安装sonar二、启动容器三、创建数据库四、启动sonarqube五、访问sonar六、如果访问报错-通过sonar日志定位问题七、修改密码八、汉化&#xff08;看个人选择&#xff09;九、扫描十、我遇到的Sonar报错以及解决办法 总结 前言 这是2024新版SonarQu…

Python算法题集_分割回文串

Python算法题集_分割回文串 题131&#xff1a;分割回文串1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【参数回退回溯单行回文检测】2) 改进版一【参数回退回溯lambda回文检测】3) 改进版二【参数回退回溯函数回文检测】4) 改进版三【堆栈回退…

Python - getpass

文章目录 关于 getpass基本使用语法说明其它 关于 getpass getpass 是 Python 自带标准库 Python 官方文档 - getpass https://docs.python.org/3/library/getpass.html 基本使用 我们在看视频教程中&#xff0c;老师如果不想在代码中暴露 token、密码之类的信息&#xff0c…

Leet code 611 有效三角形个数

简单有效的思路&#xff1a;双指针解法 比如给出一个nums{4&#xff0c;3&#xff0c;2&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;8&#xff0c;10} 先将nums排序 -> { 2, 3, 4, 4, 5, 6, 8, 10} for(int inums.size()-1;i>2;i--) i的下标为当前最大值的下…