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 ...
随机推荐
- 最大子树和 树形dp
题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明 ...
- PHP中使用CURL之php curl详细解析和常见大坑
这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就“撩”下服务器吧,妹子有得撩的同学 ...
- PHP生成pdf文档
首先需要去github下载tcpdf类库 require_once('./tcpdf/tcpdf.php'); date_default_timezone_get('Asia/Shan ...
- 斐讯 N1 刷 Armbian 5.64
前言 N1 天天链是斐讯出的一款挖矿产品,虽然已经翻车,但是本身硬件配置还是很不错的,晶晨 S905D 主控,蓝牙 4.1,双频 WiFi,2G + 8G,USB2.0,HDMI.而一个只要不到 80 ...
- centos用ifconfig不显示ip地址的解决方法
解决办法: 第一步: 输入ip addr 发现ens33中并不包含IP内容 第二步: 输入cd /etc/sysconfig/network-scripts/ 回车 然后输入 ls 回车 第三步:选 ...
- C++_异常4-将对象用作异常类型
通常,引发异常的函数将传递一个对象.这样做的重要优点之一就是,可以利用不同的异常类型来区分不同的函数在不同的情况下引发的异常. 对象可以携带信息,程序员可以根据这些信息来确定异常的原因. 同时,cat ...
- SQL数据库查询一列数据返回一行
SQL:数据库合并列数据:遇到一个更新的问题 想要把查询到的数据某一列拼接成字符串形式返回用的是SQL数据库中的STUFF函数比如 查询到的表(u_College)如下Id Name Age Clas ...
- 【Python】测试布尔型盲注脚本
sqli-labs第八关:单引号布尔型盲注,手工测出database长度,个人觉得手工比较快 然后使用脚本测database内容,这个脚本就比手工快多了,脚本内容如下: import sys impo ...
- Intellij IDEA 添加项目依赖
https://blog.csdn.net/TaooLee/article/details/51305443 idea导入一个maven项目 https://blog.csdn.net/qq_3837 ...
- Form表单的几种提交方式
<script type="text/javascript"> $(function() { //1.ajax提交 $("#ajaxBtn").cl ...