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页面请求和响应相关推荐

  1. JSP页面请求响应过程中的编码解码

    该片简要讲述:JSP页面传输过程中,浏览器与服务器的编码解码以及HTTP协议对URL进行的编码解码. 问题如下: //所有的JSP页面的编码都是UTF-8的格式 //test1.jsp <%@ ...

  2. mysql 页面跳转_Springboot+MyBatis+mysql+jsp页面跳转详细示例

    SpringBoot与MyBatis搭建环境,底层数据库为mysql,页面使用JSP(官网上不推荐使用jsp),完成从数据库中查询出数据,在jsp页面中显示,并且实现页面的跳转功能. 项目下载链接: ...

  3. 命令行请求jsp页面_JSP 之 8种HTTP的请求方式 之 页面组成等

    HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫"动作"),来表明Request-URL指定的资源不同的操作方式 1.OPTIONS 返回服务器针对特定资源所 ...

  4. 【JavaLearn】#(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向

    1. JSP简单内容 1.1 JavaEE JavaEE 包含JSP JavaEE是一个开发分布式企业级应用的规范和标准.JavaEE包含之前学过的所有内容(JavaSE) 真正开发中,很少使用Jav ...

  5. jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除

    jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除 一.使用背景 二.核心代码 2.1a标签 2.2js代码 三.运行的相关文件 3.1common.jsp 3.2index.jsp 3.3 ...

  6. 响应输出HTML处理,JSP response对象:响应客户端的请求并向客户端输出信息

    response 对象和 request 对象相对应,用于响应客户请求,向客户端输出信息.response 是 HttpServletResponse 的实例,封装了 JSP 产生的响应客户端请求的有 ...

  7. java获取jsp页面参数_jsp页面中获取servlet请求中的参数方法总结

    jsp页面中获取servlet请求中的参数的办法详解 在JAVA WEB应用中,如何获取servlet请求中的参数,并传递给跳转的JSP页面?例如访问http://localhost:8088/bbs ...

  8. java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求

    06_在线支付_编写将数据提交给易宝支付的JSP页面 -------------------------------------------------------------- 1./payment ...

  9. IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错

    问题描述:IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错:java.lang.IllegalArgumentException: Invalid character found i ...

  10. 请求servlet操作成功后,在JSP页面弹出提示框

    应用环境: 点击前台页面,执行某些操作.后台action/servlet 执行后,返回处理结果(成功.失败.原因.状态等)信息.在前台jsp进行弹窗显示,alert(); 后台处理代码:(把要提示的数 ...

最新文章

  1. python登录网页账号密码_python03网页用户名密码登录
  2. 关于bat中使用rar压缩命令
  3. 韩寒:一个产品经理的自我修养
  4. linux week3
  5. 走钢索的人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(十七)...
  6. echarts legend位置_一起读 ECharts 配置项手册之 series[i]-line(上)
  7. 拆散组合思路求解期望,方差
  8. layui列表筛选列_layui框架的table字段筛选功能介绍
  9. 用友nc系统服务器是云端吗,用友NC服务器硬件配置要求
  10. python爬虫框架论文开题报告范文_基于Web爬虫系统设计开题报告
  11. 华硕k5555l拆解图解_华硕k50id的拆机过程详解【图文教程】
  12. Vercel部署网易云音乐api
  13. 海森矩阵介绍及其在机器学习、深度学习中的理解
  14. 虚拟机windows7安装详细教程
  15. android tablayout放图片,Android TabLayout的Indicator如何设置为图片
  16. Elasticsearch7.17 一: 快速入门
  17. 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
  18. 给fcitx加上云拼音库
  19. ubunto安装pycharm
  20. Google公开了Google Talk的协议Jingle

热门文章

  1. html知识点整理(全)
  2. linpack实验:MPI代码调优
  3. revit 转换ifc_将IFC转换成GLTF格式
  4. CSDN博客编写快捷键
  5. Linux架设代理服务器
  6. 用python语言怎么打出菱形的*号_Python打印“菱形”星号代码方法
  7. 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。
  8. 搭建一个属于自己的服务器,并实现内网穿透(外网访问本地服务器功能)
  9. springboot publish event 事件机制demo
  10. QT实现Qt3D材质系统加载PBR材料