Servlet笔记整理

一.get和post请求:

1.get请求:

a.哪一些情况下,浏览器会发送get请求?
a1.在浏览器地址栏,直接输入某个地址。
a2.点击链接。
a3.表单默认的提交方式。
b.特点
b1.请求参数添加到了请求资源路径的后面,只能提交少量的数据。
注:
请求行只能存放约2k左右的数据。
b2.请求参数会显示在浏览器地址栏,不安全。
注:
有一些网络设备,比如路由器,会记录请求地址。

2.get请求:

a.哪一些情况下,浏览器会发送get请求?
a1.在浏览器地址栏,直接输入某个地址。
a2.点击链接。
a3.表单默认的提交方式。
b.特点
b1.请求参数添加到了请求资源路径的后面,只能提交少量的数据。
注:
请求行只能存放约2k左右的数据。
b2.请求参数会显示在浏览器地址栏,不安全。
注:
有一些网络设备,比如路由器,会记录请求地址。

二.转发和重定向的区别:

重定向:
response.sendRedirect(String url);
转发:
1.绑订数据到request对象上。
request.setAttribute(String name,Object obj);
2.获得转发器。
RequestDispatcher rd = request.getRequestDispatcher(String uri);
3.转发
rd.forward(request,response);

a. 能否共享request?

转发可以,而重定向不行?注:
当容器收到请求,会立即创建request和response,当
响应发送完毕,容器会立即销毁这两个对象。也就是说,
request和response的生存时间是一次请求与响应期间
存在。

b.浏览器地址栏的地址有无变化?

转发之后,浏览器地址栏的地址不变。重定向有变化。

c.地址有无限制?

转发地址有限制,重定向没有限制。

三.servlet生命周期:

1.实例化
2.初始化
3.就绪
4.销毁

四.request和reaponse:

通过Request对象可以在服务器端获取客户端发送的请求数据内容。
通过Response对象可以生成服务器端向客户端响应的数据内容。

五.Servlet中文处理:

request.setCharacterEncoding("utf-8");//浏览器请求
response.setContentType("text/html;charset=utf-8");//服务器响应

六.路径问题:

相对路径:不以"/"开头的路径。
绝对路径:链接、表单提交、重定向从应用名开始写;转发从应用名之后开始写。String request.getContextPath()来获得实际部署时的应用名。

七.绑定数据:

request、session、Servlet上下文都提供了绑订数据
相关的方法,区别如下:
a.绑订到这三个对象上的数据的生存时间是不一样的。
request < session < Servlet上下文。
注:
在满足使用条件的情况下,优先使用生命周期短的。

八.cookie:

1.在添加cookie时,使用encode方法来编码

String URLEncoder.encode(String str,String charset);
在读取cookie时,使用decode方法来解码
String URLDecoder.decode(String str,String charset);

2.a.cookie可以被用户禁止。

b.cookie不安全。
对于敏感数据,一定要加密处理。
c.cookie只能存放少量数据。
大约4k左右。
d.cookie的数量也有限制。
大约几百个。
e.cookie只能存放字符串。

3.

session的工作原理就是依靠cookie来做支撑,第一次使用request.getSession()时session被创建,并且会为该session创建一个独一无二的sessionid存放到cookie中,然后发送会浏览器端,浏览器端每次请求时,都会带着这个sessionid,服务器就会认识该sessionid,知道了sessionid就找得到哪个session。以此来达到共享数据的目的。 这里需要注意的是,session不会随着浏览器的关闭而死亡,而是等待超时时间。

九.九大内置对象:

  1. request

该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数(包括头信息、系统信息、请求方式以及请求参数等)。
request对象的作用域为一次请求。

2)response

response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。
response对象也具有作用域,它只在JSP页面内有效。

3)session

session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。

4)application

application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。

5)out

out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

6)pageContext

pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。

7)config

config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

8)page

page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。

9)exception

exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • IOC 控制反转容器控制程序对象之间的关系,而不是传统实现中,有程序代码之间控制,又名依赖注入。All 类的创建,...
    irckwk1阅读 922评论 0 0
  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 5,583评论 1 49
  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 3,392评论 0 13
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 1,394评论 0 10
  • OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法。平时编写的OC代码, 在程序运...
    一个人在路上走下去阅读 2,323评论 1 37