JavaWeb的知识点

1.get 和 post 请求的区别

答:①get 请求用来从服务器上获得资源,而 post 是用来向服务器提交数据;②get 将表单中数据按照 name=value 的形式,添加到 action 所指向的 URL 后面,并且两者使用"?"连接,而各个变量之间使用"&"连接;post 是将表单中的数据放在 HTTP 协议的请求头或消息体中,传递到 action 所指向 URL;③get 传输的数据要受到 URL 长度限制(1024 字节);而 post 可以传输大量的数据,上传文件通常要使用 post 方式;④使用 get 时参数会显示在地址栏上,如果这些数据不是敏感数据,那么可以使用 get;对于敏感数据还是应用使用 post;⑤get 使用 MIME 类型 application/x-www-form-urlencoded 的 URL 编码(也叫百分号编码)文本的格式传递参数,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"%20"。

2.讲解 JSP 中的四种作用域

答:JSP 中的四种作用域包括 page、request、session 和 application,具体来说:- page 代表与一个页面相关的对象和属性。- request 代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件;需要在页面显示的临时数据可以置于此作用域。- session 代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的 session 中。- application 代表与整个 Web 应用程序相关的对象和属性,它实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

3.转发(forward)和重定向(redirect)的区别
答:forward 是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect 就是服务器端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,因此从浏览器的地址栏中可以看到跳转后的链接地址,很明显 redirect 无法访问到服务器保护起来资源,但是可以从一个网站 redirect 到其他网站。forward 更加高效,所以在满足需要时尽量使用 forward(通过调用 RequestDispatcher对象的 forward()方法,该对象可以通过 ServletRequest 对象的 getRequestDispatcher()方法获得),并且这样也有助于隐藏实际的链接;在有些情况下,比如需要访问一个其它服务器上的资源,则必须使用重定向(通过 HttpServletResponse 对象调用其 sendRedirect()方法实现)。
4.session 和 cookie 的区别
答:session 是存储在服务器端,cookie 是存储在客户端的,所以从安全来讲 session 的安全性要比 cookie 高。2、单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie,而 session 是存放在服务器的内存中,所以 session 里的东西不断增加会造成服务器的负担,所以一般把很重要的信息才存储在 session 中,而把一些次要东西存储在客户端的 cookie 里(例如将登陆信息等重要信息存放为 session,其他信息如果需要保留,可以放在 cookie)3.1、cookie 分为两大类分为会话 cookie 和持久化 cookie,会话 cookie,存放在客户端浏览器的内存中,他的生命周期和浏览器是一致的,浏览器关了会话 cookie 也就消失了,而持久化 cookie 是存放在客户端硬盘中,而持久化 cookie 的生命周期就是我们在设置 cookie 时候设置的那个保存时间3.2、当浏览器关闭时 session 会不会丢失,session 的信息是通过会话 cookie 的 sessionid 获取的,当浏览器关闭的时候会话 cookie 消失,所以我们的 sessionid 也就消失了,但是 session 的信息还存在服务器端,这时我们只是查不到所谓的 session 但它并不是不存在。3.3、session 在什么情况下丢失,就是在服务器关闭的时候(也可以说说 session 的活化和钝化),或者是 session过期(默认时间是 30 分钟),再或者调用了 invalidate()的或者是我们想要 session 中的某一条数据消失调用session.removeAttribute()方法3.4、session 在什么时候被创建呢,确切的说是通过调用 getsession()来创建。访问 HTML 页面是不会创建 session,但是访问 index.JSP 时会创建 session(JSP 实际上是一个 Servlet,Servlet 中有 getSession 方法)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值