java后端技术面试题-(1)

1.jsp的九大内置对象和作用
在这里插入图片描述

2.get和post请求的区别,表单请求的方法)

	   (1)GET请求把表单数据显示在url地址上,POST请求把表单数据放在请求体内
	 (2)GET表单数据长度有限,而POST没有限制
	 (3)GET请求 速度快些,POST相对会慢些
	 (4)GET请求一次性把数据和请求头header发送给服务器,服务器返回200
	    ,POST先把请求头header发送给服务器,服务器返回状态码100后再继续发送数据
	 (5)假如表单中有图片、音频、视频等数据时,只能用post请求,不能用get
	      get请求只能以字符形式发送请求,post请求既可以用字符也可以用字节
  1. 请求转发和重定向区别 (页面跳转)
    (1)请求转发通过request,重定向是通过response
    (2)请求转发的url地址仍然显示跳转前原页面地址,而重定向的url地址会显示跳转后的页面地址
    (3)请求转发内部转发,一次客户端请求,而重定向,客户端是2次请求
    (4)请求转发只能跳转本应用程序内的资源,而重定向可以跳转应用程序以外的资源

4,session的作用和原理
.session的作用
解决http协议无状态无连接的问题,在session的生命周期中,可以随意的对session进行存取
重定向可以配合session完美保存数据状态

			.session的原理
			  客户端发送一个请求时,会在服务器端为该客户端创建一个session,会有一个sessionid,
			sessionid存放到一个cookie里,返回给客户端,当客户端再次发送请求时,
			 这时会把sessionid传给服务端,服务端会比较 sessionId来区别是否是同一个id。

5.session的三种销毁方式

		 从浏览器打开使用session开始,一直到关闭浏览器或者手动销毁session或者session设置有效时间中止时,session结束
	     手动销毁session
	     
	     session.invalidate()
	     
	     session的有效时长
	     session.setMaxInactiveInterval(10);//单位是秒,10秒钟后,session内容自动被清除

6.cookie是什么。如何使用

cookie(值存放在客户端)
(1)cookie到底是个什么?
由客户端浏览器生成的一个文件,用于存放一些值,
(2)cookie如何使用?
cookie不是jsp的内置对象,需要手动创建cookie对象,cookie对象的值只能支持字符串,不支持其他类型

 a.创建cookie对象
 Cookie cookie = new Cookie("name","张三");
b.发送给客户端
 response.addCookie(cookie);
c.从客户端获取cookie的值
 Cookie[] cookies = request.getCookies();
 cookie[0].getName() //获取cookie的key
 cookie[0].getValue()//获取cookie的value
d.设置cookie的有效时长
 cookie.setMaxAge(10);//设置cookie存活10秒,10秒后客户端会自动删除该cookie

(3)使用cookie会有一个风险?
当客户端禁用的cookie的时候,cookie就无法使用

7.jsp四大范围
page范围 pageContext:只能在当前页面获取到
request 请求转发中,原jsp页面中存入值,使用请求转发跳转到另外一个页面,在另外一个页面中可以取出该值
session 只要在同一个会话中,之前存入session的值,都可以获取到
application 只要在同一个应用程序中,之前存入的值,在所有页面都可以获取

8.禁用cookie后,如何让session继续能使用(url重写)
注1:客户端禁用cookie,客户端无法存放sessionid,session失效
如何在客户端禁用cookie,仍然能继续使用session?
url重写:
encodeURL()
redirectEncodeURL()

  response.encodeRedirectURL("index.jsp")
  url重写 假如cookie被禁用,url会重写,cookie没有被禁用,url不会被重写
   重写前url地址:http://localhost:8080/testweb1/index.jsp
   重写后url地址:http://localhost:8080/testweb1/index.jsp;jsessionid=EAD8EDEABF078D8F46B7B89E23340976
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏末微风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值