web面试突击,从几乎0到有计划(d5)

潮汐要努力 2020-03-07 08:39:44
2.response. :响应对象提供的方法:

void addCookie( Cookie cookie );服务端向客户端增加Icookie对象
void sendRedirect (String location ) throws I0Exception: 页面跳转的一种方式(重定向)
void setContetType (String type) :设置服务端响应的编码(设置服务端的contentType类型)

代码: response . sendRedirect("success.jsp") ; 页面跳转:重定向,导致 数据丢
//页面跳转:请求转发,可以获取到数据,并且地址栏没有改变(仍然保留转发时
request. getRequestDispatcher( "success.jsp") . forward( request, response)


转发 重定向
地址栏是否改变 不 变
是否保留第一次请求数据 保留 不保留
请求次数 1 2
跳转位置: 服务端 客户端

Cookie (客户端,不是内置对象)
Cookie是由服务端生成的,再发送给客户端保存。相当于.本地缓存的作用:客户 端(hello. mp4, zs/abc)->服务端(hello. mp4; zs/abc)
作用:提高访问服务端的效率,但是安全性较差。

Cookie: name=value
javax. servlet. http. Cookie
public Cookie (String name, String value)String getName(): 获取nameString getValue() :获取value

void setMaxAge(int expiry) ;最大有效期(秒)

服务端准备Cookie:
response. addCookie (Cookie cookie)

页面跳转 (转发,重定向)
客户端获取cookie: request. getCookies () ;

a.服务端增加cookie. :response对象: 客户端获取对象: request对象
b.不能直接获取某-一个单独对象,只能一-次性将全部的cookie拿到



(今天听粉笔的网课,老师说 ,20几岁的年纪,想要就去争取,得到了就去珍惜,得不到就忘记。就是因为 人生不完美所以才要努力)
《骄傲的少年》送给每个奋斗路上的人
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2020-03-09
  • 打赏
  • 举报
回复
潮汐要努力 2020-03-08
  • 打赏
  • 举报
回复
java基础


八种数据基本类型
byte对应包装类:Byte
short对应包装类:Short
int对应包装类:Integer
long对应的包装类:Long
float对应的包装类:Float
doubledouble类型同样不能表示精确的值,如货币
default: 对应的包装类:Double
char对应的包装类:Character
boolean对应的包装类:Boolean

变量

1 局部变量:定义在方法中或局部代码块中,必须初始化(第一次赋值时分配内存空间)
局部变量的作用域在定义它的大括号内有效,在作用范围内不能重复定义。
2 成员变量:定义在类中,自动初始化默认值,访问受访问控制符限制;局部变量可以和成员变量同名。



Object类

如果一个类不继承其他类,则默认继承Object类

1.方法
toString()获得一个对象的字符串表示。
Object中的默认实现是:“类名@地址”可在子类中重写toString方法。
equals() 当前对象与参与对象比较是否相等。
a.equals(b) Object中的默认实现是比较内存地址。
this == obj:==
Object中比较内存地址,基本类型默认比较内容值。

String 类
String是封装char[] 数组的对象

1.字符串创建

Char[] a ={‘a’,’b’,’c’};
String s = new String(a); >>>简易语法>>> String s = “abcd”

2.字符串的常量池
String s1 = “abcd” 字符串的字面值写法。
第一次使用一个字符串字面值时,会在字符串常量池中新分配内存,再次使用相同字面值时,直接访问常量池中存在的对象,而不会重复创建

3.字符串 中的Equals 和 “==”
“==”比较内存地址
Equals 看父类中的方法,object中的默认方法是比较内存地址,String类中重写了父类方法比较的是字符内容。如下说明:

char[] a = {'a','b','c','d'};
String s1 = new String(a);//堆中新分配内存
String s2 = "abcd"; //在常量池新分配内存
String s3 = "abcd"; //访问常量池中存在的对象
System.out.println(s1==s2); //false 比较内存地址
System.out.println(s2==s3); //true 比较内存地址
String类中重写了equals方法,方法中比较的是字符内容
System.out.println(s1.equals(s2));//true 比较字符串内容
System.out.println(s2.equals(s3));//true 比较字符串内容



潮汐要努力 2020-03-08
  • 打赏
  • 举报
回复
web面试突击,从几乎0到有计划(d6)

Cookies就是服务器暂存放在你的电脑里的资料(.txt格式的文本文件),好让服务器用来辨认你的计算机。当你在浏览网站的时候,Cookies 会帮你在网站上所打的文字或是一些选择都记录下来。当下次你再访问同一个网站,Web服务器会先看看有没有它上次留下的Cookies资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你。

使用cookies实现 记住用户名
//将用户名加入到cookies
(写在提交界面的jsp里)
Cookie cookie=new Cookie("name",name);
cookie.setMaxAge(10);//最大有效时间
response. addCookie(cookie );
response.sendRedirect("result.jsp");//重定向跳转,将cookie客户端

(写在登录界面里)
<% Cookie[ ] cookies=request.getCookies();//拿出cookie
for(Cookie cookie:cookies){
if(cookie.getName().equales("uname")){uname=cookie.getValue();
//equals 方法是 java.lang.Object 类的方法。有两种用法说明:(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串 时,其比较方法不同。 “==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。
}}%>(给input里uname的value="<%=uname%>")

4.session会话

客户端第一次请求服务端时,服务端会产生一个session对象(用于保存该客户的信息) ;
并且每个session对象都会有一一个唯一的sessionId( 用于区分其他session) ;
服务端由会产生一个cookie,并且该cookie的name= JSESSIONID, value=服务端sessionId的值;
然后服务端会在响应客户端的同时将该cookie发送给客户端,至此客户端就有了一个cookie (JSESSIONID);
因此,客户端的cookie就可以和服务端的session-一一对应(JSESSIONID - sessionID)
客户端第二/n次请求服务端时:服务端会先用客户端cookie种的JSESSIONID

session:
a.session存储在服务端
b.session是在同一个用户(客户)请求共享
c.实现机制:第一次客户请求时产生一个sessionid,并复制给cookie的jsessionid 然后发给客户端

session方法:
String getId():获取sessionId
boolean isNew():判断是否是新用户
void invalidate():使用session失效(退出登录,注册)
session.setAttribute("uname",name)方法添加指定的属性,并为其赋指定的值
getAttribute()取值


cookie和session的区别: session cookie
保存的位置 服务端 客户端
安全性 较安全 较不安全
保存的内容 Object| String


JSP9大内置对象
pageContext JSP页面容器
request 请求对象
response 响应对象
session 会话对象


appliation全局对象
String getContextPath()虚拟路径
string getRealPath( string Name)绝对路径


cookie四种范围对象(小->大)

pageContext JSP页面容器 (page对象) ;_当前页面有效,页面跳转后无效
request 请求对象 同一次请求有效 其他请求无效
session 会话对象 同一次会话有效 都有效
appliation全局对象 全局有效(整个项目有效)切换浏览器依然有效

以上4个对象共有的方法:

Object getAttribute (String name) :根据属性名,或者属性值
void setAttribute (String name, Object obj) :设置属性值 (新增,修改)
setAttribute("a","b") ;//如果a对象之 前不存在,则新建一个a对象;
如果a之前已经存在,则将a的值改为bvoid removeAttribute(String name): 根据属性名,删除对象

尽量用小的

2,100

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧