JSP页面请求和响应
JSP页面请求和响应
- 1、JSP内置对象
- 2、out的方法
- 3、out输出的方法
- 4、page对象
- 5、request获取客户端信息的方法
- 6、request获取表单数据的方法
- 7、request处理中文的方法
- 8、response重定向的使用
- 9、session对象
- session 的常用方法
- 10、application对象
- application 对象常用方法
- 11、config对象
- config 对象常用方法
- 12、pageContext对象
- pageContext 对象常用方法
- 13、exception对象
- exception 对象常用方法
1、JSP内置对象
1、request
2、response
3、out
4、session
5、application
6、page
7、pageContext
8、config
9、exception
2、out的方法
方法 | 说明 |
---|---|
clean() | 清除缓冲区里的数据,不把数据写到客户端 |
cleanBuffer() | 清除缓冲区的当前内容,并把数据写到客户端 |
flush() | 输出缓冲区的数据 |
getBufferSize() |
返回缓冲区以字节数的大小,如不设缓冲区则为0,缓冲区大小用<%@page buffer="Size"%> 设置
|
getRemainning() | 获取缓冲区剩余空间大小 |
isAutoFlush() | 返回缓冲区满时,是自动清空还是抛出异常 |
close() | 关闭输出流,从而可以强制终止当前页面的剩余部分向浏览器输出 |
3、out输出的方法
out最常用的方法是print()和println()。
4、page对象
常用方法:
方法 | 说明 |
---|---|
hasCode() | 返回网页文件中的hasCode |
getClass() | 返回网页的类信息 |
toString() | 返回代表当前页面的文字字符串 |
equals(Object o) | 比较o对象和指定对象是否相等 |
getServletConfig() | 获得当前的config对象 |
getServletInfo() | 返回关于服务器程序的信息 |
5、request获取客户端信息的方法
书上列举的方法:(待添加)
方法 | 说明 |
---|---|
getParameter(String name) | 返回name指定参数的参数值 |
getParameterValues(String name) | 返回包含参数name的所有值的数组 |
setAttribute(String,Object) | 存储此请求中的属性 |
getAttribute(String name) | 返回指定属性的属性值 |
getContentType() | 得到请求体的MIME类型 |
getProtocol() | 返回请求用的协议类型及版本号 |
getServerName() | 返回接受请求的服务器主机名 |
getServerPort() | 返回服务器接受此请求所用的端口号 |
getCharacterEncoding() | 返回字符编码方式 |
setCharacterEncoding() | 设置请求的字符编码方式 |
getContentLength() | 返回请求体的长度(以字节数) |
getRemoteAddr() | 返回发送此请求的客户端IP地址 |
getRealPath(String path) | 返回一虚拟路径的真实路径 |
getContextPath() | 返回上下文路径 |
获取HTTP Headers信息:getHeaderNames(),hasMoreElements(),nextElement(),getHeader(),
6、request获取表单数据的方法
getParameter():文本元素、单选按钮、下拉列表框
getParameterValues():复选框、多选列表框
7、request处理中文的方法
setCharacterEncoding(“UTF-8”)。要在页面没有调用任何request前使用。
8、response重定向的使用
sendRedurect()
sendError(500,"")
常用方法:(待添加)
方法名称 | 说明 |
---|---|
addCookie(Cookie cookie) | 添加一个 Cookie 对象,用来保存客户端用户信息。用request对象的getCookies()方法可以获得这个 Cookie |
setContentType(String contentType) | 设置响应 MIME 类型。例如: response.setContentType(“application/msword;charset Cookie =GB2312”) |
setCharacterEncoding(String charset) | 设置响应使用字符编码格式 |
setHeader(String name,String value) | 设定指定名字的HTTP文件头的值,如该值存在,会被新值覆盖。例如:在线聊天室,当refresh值为“5”时,就表示页面每5秒就要刷新一次。response.setHeader(“refresh”,”5”) |
sendRedirect(URL) | 将用户重定向到一个不同的页面URL。调用此方法,终止以前的应答,更改浏览器内容为一个新的的URL。注意:使用sendRedirect重定向是没办法通过request.setAttribute来传递对象到另外一个页面的。 |
String encodeURL(String url) | 将url予以编码,回传包含sessionId的URL。用response.sendRedirect(response.encodeURL(url))的好处就是他能将用户的session追加到网址的末尾,也就是能够保证用户在不同的页面时的session对象是一致的. 这样做的目的是防止某些浏览器不支持或禁用了COOKIE导致session跟踪失败 |
StringencodeRedirectURL(String url) | 对于使用sendRedirect()方法的url进行编码 |
9、session对象
在 WEB 应用中,当一个客户首次访问服务器上的某个 jsp 页面时,jsp引擎(比如 TOMCAT) 将为这个客户创建一个 session 对象,当客户关闭浏览器离开之后,session 对象被注销。 设置 session 的目的是为了服务器端识别客户。由于 http 协议是无连接的。客户浏览 器与服务器建立连接,发出请求,得到响应。一旦发送响应,Web 服务器就会忘记你是谁。 下一次你再做请求的时候,Web 服务器不会认识你。换句话说,它们不记得你曾经做过请求, 也不记得它们曾经给你发出过响应,什么都不记得了。有时这样做没什么,但有些时候可能 需要跨多个请求保留与客户的会话状态。比如在网上购物这样的应用中,当客户在选完商品 后,进入结算页面后,服务器端需要知道这个客户的购物车中有哪些商品。在网站计数器应 用中,服务器端同样需要知道是一个新客户访问网站,还是老客户在进行刷新操作,以正确 统计访问量。
session 的常用方法
方法名称 | 说明 |
---|---|
setAttribute(String attName,Object value) | 设定指定名字属性值,并把它存储在 session 对象中。 |
getAttribute(String attName) | 获取指定名字属性值,若属性不存在,返回 null。 |
Enumeration getAttributeNames() | 返回 session 对象中存储的每一个属性对象,结果是枚举类对象。 |
removeAttribute(Stringa ttName) | 删除指定属性。 |
setMaxInactiveInterval(int interval) | 设置 session 有效时间,单位秒。 |
getMaxInactiveInterval( ) | 获取 session 对象生存时间,单位秒。 |
invalidate() | 销毁 session,并释放所有与之相关联的对象。要牢记会话与用户相关联,而不是单个 Servlet 或 Jsp页面。 |
getId() | 返回当前 session 的 ID。 |
isNew() | 判断当前用户是否为新用户,可以判断用户是否刷新了当前页面。如果用户还没有用这个会话 ID 做过响应,isNew()就返回 true。 |
补充:
作用域:在一次会话范围内容有效
生命周期:session的生命周期包括三个阶段:创建、活动、销毁
创建:当客户端第一次访问某个jsp或者servlet的时候,服务器会为当前会话创建一个SessionId,每次客户端向服务器发送请求时,都会将此sessionId携带过去,服务端会对此sessionId进行校验。
活动:某次会话当中通过超链接打开的新页面属于同义词会话。只要当前页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。
注意事项:注意原有会话还存在,只是这个旧的SessionID任然存在服务端,只不过再也没有客户端会携带它然后交予服务端校验。
销毁(三种方式):
1.调用了session.invalidate()方法
2.session过期(超时)
3.服务器重新启动:Tomcat默认session超时时间为30分钟。
10、application对象
对于一个容器而言,每个用户都共同使用一个 application 对象,这和 session 对象是 不一样的,它用于实现用户间数据共享。服务器启动后,就会自动创建 application 对象, 这个对象一直会保持,直到服务器关闭为止。
简单来说就是:
作用域:服务器开启后,全局共享
生命周期:服务器开启到服务器关闭
application 对象常用方法
方法名称 | 说明 |
---|---|
setAttribute(String attName,Object value) | 设定指定名字属性值。 |
getAttribute(String attName) | 获取指定名字属性值。 |
Enumeration getAttributeNames() | 返回所有 application 对象的属性名字, 结果是枚举类对象。 |
removeAttribute(String attName) | 删除指定属性。 |
String getRealPath(String path) | 返回虚拟路径的真实路径。 |
11、config对象
config 对象被封装成 javax.servlet.ServletConfig 接口,表示 Servlet 的配置。当 一个 Servlet 初始化时,容器把某些信息通过此对象传递给 Servlet。
config 对象常用方法
方法名称 | 说明 |
---|---|
getInitParameter(String name) | 获取名字为 name 的初始参数值。 |
Enumeration getInitParameterNames() | 获取这个 Jsp 所有初始参数的名字。 |
getServletContext() | 返回执行者 Servlet 上下文。 |
12、pageContext对象
pageContext 对象被封装成 javax.servlet.jsp.PageContext 接口,它为 Jsp 页面包装 页面上下文,它封装了对其它八大隐式对象的引用,提供存取所有关于 Jsp 程序执行时期所 要用到的属性方法。
pageContext 对象常用方法
方法名称 | 说明 |
---|---|
forward(String relativeURL) | 把页面转发到另一个页面或者 Servlet 组件上 |
getAttribute(String name[,int scope]) | 获取属性的值 |
getException() | 返回当前的 exception 对象 |
getRequest() | 返回当前的 request 对象 |
getResponse() | 返回当前的 response 对象 |
getServletConfig() | 返回当前页面的 ServletConfig 对象 |
getServletContext() | 返回 ServletContext 对象。这个对象对所有页面都是共享的 |
getSession() | 返回当前页面的 session 对象 |
setAttribute(String name,String value) | 设置属性值 |
removeAttribute(String name) | 删除指定属性 |
invalidate() | 返回 ServletContext 对象,全部销毁。 |
13、exception对象
如果在 Jsp 页面中出现没有捕获的异常,就会生成 exception 对象,并把它传送到在 page 指令中设定的错误页面中,然后在错误处理页面中处理相应的 exception 对象。59 exception 对象只有在错误处理页面(在页面指令里 isErrorPage=true)才可以使用。
exception 对象常用方法
方法名称 | 说明 |
---|---|
getMessage() | 获取异常消息字符串 |
toString() | 以字符串形式返回对异常的描述 |
JSP页面请求和响应相关推荐
- JSP页面请求响应过程中的编码解码
该片简要讲述:JSP页面传输过程中,浏览器与服务器的编码解码以及HTTP协议对URL进行的编码解码. 问题如下: //所有的JSP页面的编码都是UTF-8的格式 //test1.jsp <%@ ...
- mysql 页面跳转_Springboot+MyBatis+mysql+jsp页面跳转详细示例
SpringBoot与MyBatis搭建环境,底层数据库为mysql,页面使用JSP(官网上不推荐使用jsp),完成从数据库中查询出数据,在jsp页面中显示,并且实现页面的跳转功能. 项目下载链接: ...
- 命令行请求jsp页面_JSP 之 8种HTTP的请求方式 之 页面组成等
HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫"动作"),来表明Request-URL指定的资源不同的操作方式 1.OPTIONS 返回服务器针对特定资源所 ...
- 【JavaLearn】#(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向
1. JSP简单内容 1.1 JavaEE JavaEE 包含JSP JavaEE是一个开发分布式企业级应用的规范和标准.JavaEE包含之前学过的所有内容(JavaSE) 真正开发中,很少使用Jav ...
- jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除
jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除 一.使用背景 二.核心代码 2.1a标签 2.2js代码 三.运行的相关文件 3.1common.jsp 3.2index.jsp 3.3 ...
- 响应输出HTML处理,JSP response对象:响应客户端的请求并向客户端输出信息
response 对象和 request 对象相对应,用于响应客户请求,向客户端输出信息.response 是 HttpServletResponse 的实例,封装了 JSP 产生的响应客户端请求的有 ...
- java获取jsp页面参数_jsp页面中获取servlet请求中的参数方法总结
jsp页面中获取servlet请求中的参数的办法详解 在JAVA WEB应用中,如何获取servlet请求中的参数,并传递给跳转的JSP页面?例如访问http://localhost:8088/bbs ...
- java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求
06_在线支付_编写将数据提交给易宝支付的JSP页面 -------------------------------------------------------------- 1./payment ...
- IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错
问题描述:IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错:java.lang.IllegalArgumentException: Invalid character found i ...
- 请求servlet操作成功后,在JSP页面弹出提示框
应用环境: 点击前台页面,执行某些操作.后台action/servlet 执行后,返回处理结果(成功.失败.原因.状态等)信息.在前台jsp进行弹窗显示,alert(); 后台处理代码:(把要提示的数 ...
最新文章
- python登录网页账号密码_python03网页用户名密码登录
- 关于bat中使用rar压缩命令
- 韩寒:一个产品经理的自我修养
- linux week3
- 走钢索的人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十七)...
- echarts legend位置_一起读 ECharts 配置项手册之 series[i]-line(上)
- 拆散组合思路求解期望,方差
- layui列表筛选列_layui框架的table字段筛选功能介绍
- 用友nc系统服务器是云端吗,用友NC服务器硬件配置要求
- python爬虫框架论文开题报告范文_基于Web爬虫系统设计开题报告
- 华硕k5555l拆解图解_华硕k50id的拆机过程详解【图文教程】
- Vercel部署网易云音乐api
- 海森矩阵介绍及其在机器学习、深度学习中的理解
- 虚拟机windows7安装详细教程
- android tablayout放图片,Android TabLayout的Indicator如何设置为图片
- Elasticsearch7.17 一: 快速入门
- 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
- 给fcitx加上云拼音库
- ubunto安装pycharm
- Google公开了Google Talk的协议Jingle
热门文章
- html知识点整理(全)
- linpack实验:MPI代码调优
- revit 转换ifc_将IFC转换成GLTF格式
- CSDN博客编写快捷键
- Linux架设代理服务器
- 用python语言怎么打出菱形的*号_Python打印“菱形”星号代码方法
- 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。
- 搭建一个属于自己的服务器,并实现内网穿透(外网访问本地服务器功能)
- springboot publish event 事件机制demo
- QT实现Qt3D材质系统加载PBR材料