1.include指令

(1)作用:

告诉容器,在将jsp转换成Servlet时,将
某个文件的内容插入到该指令所在的位置。

(2)语法:

<%@ include file=""%>
file属性用于指定被包含的文件。

2.比较重定向和转发

(1)能否共享request和response

转发可以,重定向不行。
注:
    request和response的生存时间是
    一次请求和响应期间存在。

(2)浏览器地址栏的地址有无变化

转发没有变化,重定向有变化。

(3)目的地有无限制

转发有限制(同一个应用),重定向没有。

3.路径问题

链接地址,表单提交,重定向,转发
<a href="">
<form action="">
response.sendRedirect("")
request.getRequestDispatcher("")

(1)什么是相对路径?

不以"/"开头的路径。

(2)什么是绝对路径?

以"/"开头的路径。

(3)如何写绝对路径?

链接地址,表单提交,重定向从应用名开始写,
而转发从应用名之后开始写。
注意:
    不要将应用名直接写在路径里面,而应该
使用以下方法来获得实际部署时的应用名。
    String request.getContextPath()
建议使用绝对路径,易写,易维护。

4.状态管理

(1)什么是状态管理?

将浏览器与服务器之间多次交互当做一个整体来
看待,并且将多次交互所涉及的数据(即状态)保存
下来。

(2)如何进行状态管理?

1)将状态保存在浏览器端(Cookie)
2)将状态保存在服务器端(Session)

(3)Cookie (小甜饼)

1)什么是Cookie?

服务器临时存放在浏览器端的少量数据。

2)工作原理

当浏览器第一次访问服务器时,服务器会将少量数据以
set-cookie消息头的形式发送给浏览器,浏览器会将这些数据保存下来;
当浏览器再次访问服务器时,会将这些数据以cookie消息头的形式发送给服务器。



3)如何添加Cookie?

Cookie c = new Cookie(String name,
String value);
注:  name称之为cookie的名称,value
    称之为cookie的值。
response.addCookie(c);

4)如何读取cookie?

注:读取浏览器发送过来的cookie

Cookie[] request.getCookies();
注: 该方法有可能返回null!
String cookie.getName();
String cookie.getValue();

5)cookie的编码问题

a.什么是cookie的编码问题?
cookie只能存放合法的ascii字符,中文需要
转换成ascii字符的形式来存放。
b.如何处理?
 step1.在添加cookie时,使用encode方法。
String URLEncoder.encode(String str,
String charset);
 step2.在读取cookie时,使用decode方法。
String URLDecoder.decode(String str,
String charset);

c.建议:添加cookie时,最好统一使用encode
方法编码。

6)cookie生存时间问题

a. 浏览器默认情况下,会将cookie保存在内存里面。
注:
    浏览器只要不关闭,cookie就会一直存在,
关了,则cookie会被销毁。
b. 可以调用以下方法来设置生存时间
    cookie.setMaxAge(int seconds)
注:
    b1. 单位是秒。
        cookie.setMaxAge(365 * 24 * 60 * 60);
    b2. seconds可以大于0,等于0和小于0
        大于0: 浏览器会把cookie保存在硬盘上,超过指定时间,浏览器会删除该cookie。
        小于0:(缺省值),即把cookie存放到内存里面。
        等于0:浏览器会立即删除该cookie。
            比如,要删除名称为uid的cookie:
            Cookie c = new Cookie("uid","");
            c.setMaxAge(0);
            response.addCookie(c);

Servlet学习笔记06——什么是转发,路径,状态管理?的更多相关文章

  1. Linux学习笔记06—系统用户及用户组的管理

    一.认识/etc/passwd和/etc/shadow 1./etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 用户名 存放账号的口令:现在存放在/etc/shadow下,在这 ...

  2. Servlet学习笔记(三)

    目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...

  3. Servlet学习笔记(二)

    目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...

  4. Servlet学习笔记(四)

    目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...

  5. 机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记

    机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间: ...

  6. iOS学习笔记06—Category和Extension

    iOS学习笔记06—Category和Extension 一.概述 类别是一种为现有的类添加新方法的方式. 利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inher ...

  7. # jsp及servlet学习笔记

    目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...

  8. Bash脚本编程学习笔记06:条件结构体

    简介 在bash脚本编程中,条件结构体使用if语句和case语句两种句式. if语句 单分支if语句 if TEST; then CMD fi TEST:条件判断,多数情况下可使用test命令来实现, ...

  9. 【PMP学习笔记】第4章 项目整合管理

    [PMP学习笔记]第4章 项目整合管理 一.项目整合管理 什么是项目整合管理? 项目整合管理由项目经理负责.虽然其他知识领域可以由相关专家(如成本分析专家.进度规划专家.风险管理专家)管理,但是项目整 ...

随机推荐

  1. 但是你没有【But you didn't.】【by Anonymous】

    作者是一位普通的美国妇女,她的丈夫在女儿4岁时应征入伍去了越南战场,从此她便和女儿相依为命.后来,她的丈夫.孩子的爸爸不幸阵亡.她终身守寡,直至年老病逝.她女儿在整理遗物时发现了母亲当年写给父亲的这首 ...

  2. php函数内不能访问函数外的变量原因

    执行如下代码: $i = 10; function my(){ echo $i; } my(); xdebug显示是:Undefined variable 以前也知道有这个问题存在,即函数内部不可以访 ...

  3. AngularJS directive 动态 template

    app.directive('testwindow', function() { return { restrict : 'E', template: '<ng-include src=&quo ...

  4. c++ 控制台输入参数

    #include <iostream>#include <string> using namespace std; int main(int argc,char **argv) ...

  5. js动态控制导航栏样式

    导航栏一般做为母版页,为了使增加用户体验,往往在用户进入某个页面给予导航栏相应的样式,这里可以用js动态添加 <div class="box_left fl"> < ...

  6. css 伪元素选择器

    /*设置第一个首字母的样式*/ p:first-letter{ color: red; font-size: 30px; } /* 在....之前 添加内容 这个属性使用不是很频繁 了解 使用此伪元素 ...

  7. MongoDB之mongodb.cnf配置

    # mongodb3.2.1 的主配置文件,将此文件放置于 mongodb3.2.1/bin 目录下 # hapday 2016-01-27-16:55 start # 数据文件存放目录 dbpath ...

  8. js随堂初体验(一)

    Js初体验(-) 1 js的基础知识 A web三大标准:1 html:结构标准    2 css:表现标准  3 javascript:行为标准 B js三种书写方式:1 行内js:onclick ...

  9. [C#]关于Distinct与重写IEqualityComparer时得知道的二三事

    我们在想对一个可枚举的对象集合进行去重操作时,一般第一个想到的就是就是Linq的Distinct方法. 先定义一个类,然后使用Distinct方法去重 class Man { public int A ...

  10. Window10 Bug记录

    1.两台新电脑刚安装: 妹子的电脑JDK配置后,重启后环境变量配置丢失,cmd里能输出,但eclipse启动不了,重新配置后正常. 我的电脑JDK配置,重启后环境变量在,但好像没加载,cmd输出与ec ...