JSP初学者3
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的更多相关文章
- JSP初学者5
JSP中include指令和include动作的区别 include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中, JSP引擎在判断JSP页面未被修改,否则 ...
- JSP初学者2
<jsp:useBean id="name" class="classname" scope="page|request|session|app ...
- JSP初学者4
Filter可认为是Servlet的“加强版”,他主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的 处理链. 使用Filter完整的流程是:Filte ...
- JSP初学者1
native2ascii.exe 是 Java 的一个文件转码工具,是将特殊各异的内容 转为 用指定的编码标准文体形式统一的表现出来,它通常位于 JDK_home\bin 目录下, 安装好 Java ...
- JSP 基础概念归纳 5分钟看完
1. 符合 j2ee 标准的 web-app 的目录结构 WEB-INF classes web.xml lib servlet 开发过程 从 httpservlet 继承, 重写 doget / d ...
- 初学者:JSP登陆界面
学生登陆查询系统 1 程序的主要功能及特点 实现一个登录界面的基本功能,具体要求: 登录界面login.jsp含有表单,用户能够输入用户名和密码,并提交表单给verify.jsp. Verify.js ...
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- JAVA教师:给JAVA初学者的忠告
我带过不少JAVA,C++班的课,来学习的同学很多都是初学者,一部分是急着找工作的,一部分是很感兴趣的.他们都想在短短一两个星期内掌握Java,这是不切实际的.而且这样做很容易让自己心浮气燥,难以静下 ...
- html5 EvnetSource 与 JSP页面结合使用
最近一直在研究前端的技术,特别是html5的技术,本人觉得html5的发展将越来越好,废话少说.看到了EventSource,根据官方的说法是服务器向客户端的推送服务.自己想找一些例子看看,发现都是P ...
随机推荐
- 关于Apache显示port 80 in use 无法解决的情况,这个世界对程序媛太不友好了
学到Ajax时下载了Apache,百度的安装教程,配置文件参数分别是: 1. httpd.conf里的80改为8000或者其他的,共三处(用记事本打开,按ctrl+F找方便) 2. httpd-ssl ...
- String Reduction问题分析
问题描述: Given a string consisting of a,b and c's, we can perform the following operation: Take any two ...
- linux的目录和基本的操作命令
目录相关操作:( ctrl+l 清空当前的屏幕中的命令 ) 一:目录说明: . 当前目录.. 上一层目录- 前一个工作目录~ 当前[用户]所在的家目录 蓝色的文件: 都是目录 白 ...
- codeforces1097D Makoto and a Blackboard 数学+期望dp
题目传送门 题目大意: 给出一个n和k,每次操作可以把n等概率的变成自己的某一个因数,(6可以变成1,2,3,6,并且概率相等),问经过k次操作后,期望是多少? 思路:数学和期望dp 好题好题!! ...
- 离散化test
#include<bits/stdc++.h> using namespace std; const int maxn = 1e6+11; int ll[maxn],rr[maxn],ma ...
- node.js知识点提取
javascript是脚本语言,脚本语言都需要一个解析器才能运行.
- [转] Angular 4.0 内置指令全攻略
[From] https://segmentfault.com/a/1190000010416792 简书链接 在这篇文章中,我们将分别列举每一个内置指令的用法,并提供一个例子作为演示.尽量用最少最简 ...
- 获取数组中多个相加等于0的一组数字 javascript
//获取数组中两个相加等于0的一对数字,比如[ [ -10, 10 ], [ -5, 5 ] ] var arr=[-5,10,1,-10,3,4,5,9] //对数组进行排序 arr.sort(fu ...
- Spring整合AspectJ的AOP
学而时习之,不亦说乎! --<论语> 看这一篇之前最好先看前面关于AOP的两篇. http://www.cnblogs.com/z ...
- Python学习 day03
一.基本数据类型 python中的基本数据类型有以下几种: int -- 整数 python3中默认整数都是int型,python2中int的范围为-231~232-1(32位系统中)/ ...