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.hqwc.cn/news/512799.html

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

相关文章

创意之光:NCDA设计大赛获奖作品解读与字体设计的卓越之处

第12届大赛简介 - 未来设计师全国高校数字艺术设计大赛f&#xff08;NCDA&#xff09;开始啦&#xff01;未来设计师全国高校数字艺术设计大赛&#xff08;NCDA&#xff09;是由工信部人才交流中心主办&#xff0c;教育部中国高等教育学会认定&#xff0c;教育厅发文立项&#…

家里闲置电脑不知该如何利用?不如做点项目帮自己生钱

现在手机已经逐步替代电脑&#xff0c;许多家庭的老电脑都放在家里吃灰&#xff0c;其实完全可以支棱起来&#xff0c;做些项目或者副业来赚取收入&#xff0c;补贴家用。 虽然手机的功能是很强大&#xff0c;但是在一些项目目前&#xff0c;还是不如电脑的完善&#xff0c;所以…

ArcGIS学习(十三)多源数据下的城市街道功能评估

ArcGIS学习(十三)多源数据下的城市街道功能评估 本任务带来的内容是多元数据下的城市街道功能评估。本任务包括两个关卡: 城市街道空间中观解读 城市街道功能详细评价 首先,我们来看看本任务的分析思路。 1.城市街道空间中观解读 下面我们正式进入第一关的内容一- 城市…

【Python】新手入门(1):探索标识符

【Python】新手入门&#xff08;1&#xff09;&#xff1a;探索标识符 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希…

项目一:踏上Java开发之旅(2023软件1班)

文章目录 一、实战概述二、实战步骤任务1&#xff1a;安装配置JDK开发第一个Java程序1、安装JDK2、配置Java环境变量3、开发第一个Java程序&#xff08;1&#xff09;编写源程序 - HelloWorld.java&#xff08;2&#xff09;编译成字节码文件 - HelloWorld.class&#xff08;3&…

Web Maven

目录 1 简介2 Maven的安装3 Maven下载依赖jar时常见问题4 Maven项目创建步骤5 Maven国内中央仓库的更换6 maven项目的配置文件pom.xml介绍7 Maven项目操作示例 1 简介 Apache Maven 是一种用于软件项目管理工具&#xff0c;基于 Project Object Model&#xff08;POM&#xff…

将预测的分割结果可视化

一、Login | MaCVi 该网站下注册一个账号&#xff0c;登录进去 二、跑完infer的代码后&#xff0c;在output文件下面存储预测的分割结果mask&#xff0c;将其打包上传到macvi.org相同的赛道 打包tip: #压缩文件 zip -r test.zip file然后利用Xtfp从服务器传输到本地&#xff…

EasyExcel的使用

1、简介 在日常项目开发中&#xff0c;经常会遇到解析excel文件中的数据、或者将某些数据导出成excel文件的需求&#xff0c;目前Java解析、生成Excel比较有名的框架有Apache POI、jxl&#xff0c;但是它们都存在一个严重的问题就是非常的耗内存。POI有一套Sax模式的API可以在一…

高质量IP代理哪里有?怎样选择合适的代理ip?

IP地址是由IP协议所提供的一种统一的地址格式&#xff0c;通过为每一个网络和每一台主机分配逻辑地址的方式来屏蔽物理地址的差异。根据IP地址的分配方式&#xff0c;IP可以分为动态IP与静态IP两种。 对于我们企业与用户来说&#xff0c;静态代理ip和动态代理ip&#xff0c;都会…

pytest 教程

1. 安装pytest 目前我使用的python版本是3.10.8 pip install pytest命令会安装下面的包&#xff1a; exceptiongroup-1.2.0-py3-none-any.whl iniconfig-2.0.0-py3-none-any.whl packaging-23.2-py3-none-any.whl pluggy-1.4.0-py3-none-any.whl pytest-8.0.2-py3-none-any.…

H5小游戏,象棋

H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境,解压后浏览器直接打开。有需要的,私信本人,发演示地址,可以后再订阅,发源码,含60+小游戏源码。如五子棋、象棋、植物大战僵尸、开心消消乐、扑鱼达人、飞机大战等等 <!DOCTYPE html PUBLIC "-//W3C/…

一台服务器,最大支持的TCP连接数是多少?

一个服务端进程最大能支持多少条 TCP 连接&#xff1f; 一台服务器最大能支持多少条 TCP 连接&#xff1f; 一、原理 TCP 四元组的信息&#xff1a;源IP、源端口、目标IP、目标端口。 一个服务端进程最大能支持的 TCP 连接个数的计算公式&#xff1a;最大tcp连接数客户端的IP…