reponse代表服务器对客户端的响应。大部分时候,程序无须使用response来响应客户端请求,因为有更简单的响应对象——out,它代表页面输出流。 但out无法响应生成非字符内容(out是JspWriter的实例,JspWriter是Writer的子类,writer是字符流)

response是HttpServletResponse接口的实例,该接口提供了一个getOutputStream()方法,该方法返回响应输出字节流。

getOutputStream() has already been called for this response异常出现的原因和解决方法: jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),没有妥善处理好的原因。

解决方案,添加如下代码: out.clear();  out = pageContext.pushBody();

重定向是response的另一个用途,与forword不同,重定向会丢失所有的请求参数和request范围的属性,因为重定向会生成第二次请求,与前一次请求不在 同一request范围内 HttpServletResponse提供了一个sendRedirection(String path)方法,该方法用于重定向到path资源

增加Cookie也是使用response内置对象完成的,  void addCookie(Cookie cookie) 增加cookie的步骤:1)创建Cookie实例,Cookie的构造器为Cookie(String name,String value); 2)设置Cookie的生命周期;3)向客户端写Cookie

session对象代表一次用户对话,通常用于跟踪用户的会话信息,是HttpSession的实例,常用方法: setAttribute(String attName,Object attValue):设置session范围内attName属性的值为attValue getAttribute(String attName): 返回session范围内attName属性的值

session机制通常用于保存客户端的状态信息,这些状态信息需要保存到web服务器的硬盘上,所以要求session里的属性值必须是可序列化的,否则将会引起不可序列化的异常。

Servlet和JSP的区别在于: 1)Servlet中没有内置对象,原来JSP中的内置对象都必须有程序显式创建 2)对于静态的HTML标签,Servlet都必须使用页面输出流逐行输出

Servlet是个完整的java类,这个类的service()方法用于生成对客户端的响应

为了让Servlet能响应用户请求,还必须将Servlet配置在Web应用中。 从Servlet3.0 开始配置Servlet有两种方式:1)在Servlet类中使用@WebServlet Anonotation进行配置 ;2)通过在web.xml文件中进行配置

创建Servlet实例有两种时机: 1)客户端第一次请求某个Servlet时,系统创建该Servlet的实例 2)web应用程序启动时立即创建Servlet实例,即load-on-startup Servlet   形式为: @WebServlet(loadOnStartup=1)

配置Servlet时,还可以增加额外的配置参数,可以实现提供更好的可移植性,避免将参数以硬编码方式写进程序代码里 为Servlet配置参数有两种方式: 1)通过@WebServlet的initParams属性来制定 2)通过web.xml文件的<servlet.../>元素中添加<init-param.../>子元素来指定 访问Servlet配置参数通过ServletConfig对象完成,该对象提供方法:String getInitParameter(java.lang.String name) :用于获取初始化参数

JSP初学者3的更多相关文章

  1. JSP初学者5

    JSP中include指令和include动作的区别 include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,  JSP引擎在判断JSP页面未被修改,否则 ...

  2. JSP初学者2

    <jsp:useBean id="name" class="classname" scope="page|request|session|app ...

  3. JSP初学者4

    Filter可认为是Servlet的“加强版”,他主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的 处理链. 使用Filter完整的流程是:Filte ...

  4. JSP初学者1

    native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下, 安装好 Java ...

  5. JSP 基础概念归纳 5分钟看完

    1. 符合 j2ee 标准的 web-app 的目录结构 WEB-INF classes web.xml lib servlet 开发过程 从 httpservlet 继承, 重写 doget / d ...

  6. 初学者:JSP登陆界面

    学生登陆查询系统 1 程序的主要功能及特点 实现一个登录界面的基本功能,具体要求: 登录界面login.jsp含有表单,用户能够输入用户名和密码,并提交表单给verify.jsp. Verify.js ...

  7. 一位资深程序员大牛给予Java初学者的学习路线建议

    java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...

  8. JAVA教师:给JAVA初学者的忠告

    我带过不少JAVA,C++班的课,来学习的同学很多都是初学者,一部分是急着找工作的,一部分是很感兴趣的.他们都想在短短一两个星期内掌握Java,这是不切实际的.而且这样做很容易让自己心浮气燥,难以静下 ...

  9. html5 EvnetSource 与 JSP页面结合使用

    最近一直在研究前端的技术,特别是html5的技术,本人觉得html5的发展将越来越好,废话少说.看到了EventSource,根据官方的说法是服务器向客户端的推送服务.自己想找一些例子看看,发现都是P ...

随机推荐

  1. AR资料汇总学习

    ARKit 从入门到精通 http://www.chinaar.com/ARKit/5210.html ARKit 框架的学习 http://blog.csdn.net/biangabiang/art ...

  2. Qt 学习之路 2(48):QSortFilterProxyModel

    Qt 学习之路 2(48):QSortFilterProxyModel 豆子 2013年4月11日 Qt 学习之路 2 6条评论 从本章开始,我们将逐步了解有关自定义模型的相关内容.尽管前面我们曾经介 ...

  3. ubuntu画面延迟问题解决

    新配的电脑,安装ubuntu16.04以后,出现画面延迟的问题,尤其浏览网页的时候画面十分卡顿.用free命令查看过可用内存6.多G,经过询问大概是显卡问题,然后在https://ubuntuforu ...

  4. 动态规划 70.climbing Stairs

    1. 记忆化搜索 - 自上向下的解决问题:使用vector来保存每次计算的结果,如果下次再碰到同样的需要计算的式子就不需要重复计算了. 2. 动态规划 - 自下向上的解决问题 解法一:自顶向下 解法二 ...

  5. C++ GUI Qt4编程(09)-3.3spreadsheet-toolbar

    1. C++ GUI Qt4编程第三章,增加工具栏.状态栏和快捷键. 2. mainwindow.h /**/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #i ...

  6. PIE SDK矢量数据项查看

    1. 功能简介 矢量数据由大量要素信息构成,矢量数据项查看可以看到数据的属性表,下面就基于PIE SDK,介绍矢量数据项查看功能的实现. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 加载 ...

  7. sql 死锁

    先上代码connectA: BEGIN TRAN UPDATE dbo.Student SET Sorce= WHERE id= waitfor delay '00:00:05' SELECT * F ...

  8. CSAPP阅读笔记-32位64位的区别--来自第三章引言的笔记--P110

    仅从寻址上看,32位和64位机器能寻址的内存空间大小不同. 需要知道的是,计算机系统对存储器作了抽象,程序“认为”内存是一个很大的字节数组,然而实际上它是由多个硬件存储器和操作系统组合起来实现的. 程 ...

  9. scala 列表的子集判断

    val list1=List.range(0,5) val list2=List.range(0,2) val list3=List(0,6) list1.contains(2) list1.cont ...

  10. Oracle RAC集群搭建(五)--oracle部署

    01,配置好环境 节点01--node1 ORACLE_BASE=/oracle/app/oracle ORACLE_HOME=$ORACLE_BASE/product//db_1 ORACLE_SI ...