千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  面试技巧  >  一码当先 千锋郑州Java面试宝典之Java Web篇

一码当先 千锋郑州Java面试宝典之Java Web篇

来源:千锋教育
发布人:Yolanda
时间: 2019-12-23 16:38:35

  1.session和cookie的区别?

  session是存储在服务器端,cookie是存储在客户端的,所以安全来讲session的安全性要比cookie高,然后我们获取session里的信息是通过存放在会话cookie里的sessionid获取的。又由于session是存放在服务器的内存中,所以session里的东西不断增加会造成服务器的负担,所以会把很重要的信息存储在session中,而把一些次要东西存储在客户端的cookie里,然后cookie确切的说分为两大类分为会话cookie和持久化cookie,会话cookie确切的说是,存放在客户端浏览器的内存中,所以说他的生命周期和浏览器是一致的,浏览器关了会话cookie也就消失了,然而持久化cookie是存放在客户端硬盘中,而持久化cookie的生命周期就是我们在设置cookie时候设置的那个保存时间,然后我们考虑一问题当浏览器关闭时session会不会丢失,从上面叙述分析session的信息是通过会话cookie的sessionid获取的,当浏览器关闭的时候会话cookie消失所以我们的sessionid也就消失了,但是session的信息还存在服务器端,这时我们只是查不到所谓的session但它并不是不存在。那么,session在什么情况下丢失,就是在服务器关闭的时候,或者是session过期(默认时间是30分钟),再或者调用了invalidate()的或者是我们想要session中的某一条数据消失调用session.removeAttribute()方法,然后session在什么时候被创建呢,确切的说是通过调用getsession()来创建,这就是session与cookie的区别.

  2、session和cookie联系?

  session是通过cookie来工作的session和cookie之间是通过$_COOKIE['PHPSESSID']来联系的,通过$_COOKIE['PHPSESSID']可以知道session的id,从而获取到其他的信息。

  在购物网站中通常将用户加入购物车的商品联通session_id记录到数据库中,当用户再次访问是,通过sessionid就可以查找到用户上次加入购物车的商品。因为sessionid是唯一的,记录到数据库中就可以根据这个查找了。

  3.servlet的生命周期?

  Servlet生命周期可以分成四个阶段:加载和实例化、初始化、服务、销毁。

  当客户第一次请求时,首先判断是否存在Servlet对象,若不存在,则由Web容器创建对象,而后调用init()方法对其初始化,此初始化方法在整个Servlet生命周期中只调用一次。

  完成Servlet对象的创建和实例化之后,Web容器会调用Servlet对象的service()方法来处理请求。

  当Web容器关闭或者Servlet对象要从容器中被删除时,会自动调用destory()方法。

  4.什么是webservice?

  从表面上看,WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。从深层次看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何在Web上实现互操作性,你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。

  5.jsp和servlet的区别、共同点、各自应用的范围?

  JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。

  6.转发(forward)和重定向(redirect)的区别?

  1)、从地址栏显示来说

  forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。

  redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址。所以地址栏显示的是新的URL。

  2)、从数据共享来说

  forward:转发页面和转发到的页面可以共享request里面的数据。

  redirect:不能共享数据。

  3)、从运用地方来说

  forward:一般用于用户登陆的时候,根据角色转发到相应的模块。

  redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等

  4)、从效率来说

  forward:高。

  redirect:低。

  7.request.getAttribute()和request.getParameter()有何区别?

  1)、request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据。

  2)、request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。

  3)、getAttribute是返回对象,getParameter返回字符串

  4)、getAttribute()一向是和setAttribute()一起使用的,只有先用setAttribute()设置之后,才能够通过getAttribute()来获得值,它们传递的是Object类型的数据。而且必须在同一个request对象中使用才有效。,而getParameter()是接收表单的get或者post提交过来的参数

  8.jsp静态包含和动态包含的区别?

  1)、两者格式不同,静态包含:<%@ include file="文件" %>,而动态包含:。

  2)、包含时间不同,静态包含是先将几个文件合并,然后再被编译,缺点就是如果含有相同的标签,会出错。动态包含是页面被请求时编译,将结果放在一个页面。

  3)、生成的文件不同,静态包含会生成一个包含页面名字的servlet和class文件;而动态包含会各自生成对应的servlet和class文件

  4)、.传递参数不同,动态包含能够传递参数,而静态包含不能

  9.MVC的各个部分都有哪些技术来实现?如何实现?

  MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示

  逻辑分成不同的组件实现。这些组件可以进行交互和重用。

  10.jsp有哪些内置对象?作用分别是什么?

  JSP有9个内置对象:

  request:封装客户端的请求,其中包含来自GET或POST请求的参数;

  response:封装服务器对客户端的响应;

  pageContext:通过该对象可以获取其他对象;

  session:封装用户会话的对象;

  application:封装服务器运行环境的对象;

  out:输出服务器响应的输出流对象;

  config:Web应用的配置对象;

  page:JSP页面本身(相当于Java程序中的this);

  exception:封装页面抛出异常的对象。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>