java学习网 java教程视频 java论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 428|回复: 69
收起左侧

面试官常问的Java Web题集总结

  [复制链接]

149

主题

187

帖子

954

积分

网站编辑

Rank: 8Rank: 8

积分
954
发表于 2020-7-17 15:07:15 | 显示全部楼层 |阅读模式
本帖最后由 java培训 于 2020-7-17 15:08 编辑

  对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦。之前给大家整理了一些Java基础方面常见的面试题,现在再整理一些JavaWeb方面常见的面试题,一方面帮助自己巩固下基础,另一方面也希望帮助想要换工作的朋友,看完之后如果你有更好的总结欢迎留言讨论分享。

  01

  说一说selvet的生命周期

  servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。

  Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例 销毁的时候调用其 destroy 方法。 web 容器加载 servlet,生命周期开始。通过调用 servlet 的 init()方法进行 servlet 的初始化。通过调用 service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web 容 器调用 servlet的 destroy()方法

  02

  forward 和 redirect的区别

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

  redirect 就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来 说浏览器会用刚才请求的所有参数重新请求,所以 session,request参数都可以获取。

  03

  Spring MVC 整合

  1.首先,要在web.xml里面配置SpringMVC的核心控制器,DispatcherServlet,对指定的后缀请求进行拦截。

  2.Controller层要加@Controller注解,表明该类是MVC的控制层。

  3.创建Service接口,给接口加上注解@Component或者@Service表明这是Service业务处理层

  4.在Controller层声明Service变量(属性),给变量(属性)加上@Autowired注解,通过自动绑定机制将Service注入到Controller。

  (注:@Autowired默认是ByType,如果想根据属性名注入,那么就再加上注解 @Resource(name="属性名"))

  5.在Controller层的方法上加上注解@RequestMapping("requestAddress")表明该方法的请求地址

  6.Dao层要加上注解@Repository表明这是数据库持久层

  7.同样将dao实例注入到service层中。

  8.配置视图解析器“InternalResourceViewResolver”

  对于处理后的跳转进行统一配置

  04

  JSP和 Servlet有哪些相同点和不同点

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

  05

  MVC的各个部分都有哪些技术来实现

  MVC 是 Model-View-Controller的简写。

  Model 代表的是应用的业务逻辑(通过 JavaBean,EJB 组件实现)

  View 是应用的表示面(由 JSP 页面产生)

  Controller是提供应用的处理过程控制(一般是一个 Servlet)

  通过这种设计模型把应用逻辑,处理过程和显 示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

  06

  JSP隐视对象中四个作用域的作用范围

  四个作用域从大到小的顺序为:

  appliaction>session>request>page

  application:全局作用范围,整个应用程序共享.生命周期为:应用程序启动到停止。

  session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。

  request:请求作用域,就是客户端的一次请求。

  page:一个JSP页面。

  以上作用范围使越来越小, request和page的生命周期都是短暂的

  他们之间的区别就是:一个request可以包含多个page页(include,forward)。

  07

  项目的生命周期

  1.需求分析

  2.概要设计

  3.详细设计(用例图,流程图,类图)

  4.数据库设计(powerdesigner)

  5.代码开发(编写)

  6.单元测试(junit 白盒测试)(开发人员)

  svn版本管理工具(提交,更新代码,文档)

  7.集成测试 (黑盒测试,loadrunner(编写测试脚本)(高级测试))

  8.上线试运行 (用户自己体验)

  9.压力测试(loadrunner)

  10.正式上线

  11.维护

  08

  session和cookie的区别

  session是存储在服务器端,cookie是存储在客户端的,所以安全来讲session的安全性要比cookie高,然后我们获取session里的信息是通过存放在会话cookie里的sessionid获取的。又由于session是存放在服务器的内存中,所以session里的东西不断增加会造成服务器的负担,所以会把很重要的信息存储在session中,而把一些次要东西存储在客户端的cookie里。

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

回复

使用道具 举报

0

主题

16

帖子

23

积分

终身VIP会员

Rank: 5Rank: 5

积分
23
发表于 2020-8-15 14:06:59 | 显示全部楼层
谢谢站长给了我这么好的资源
回复

使用道具 举报

0

主题

22

帖子

32

积分

终身VIP会员

Rank: 5Rank: 5

积分
32
发表于 2020-8-15 22:59:24 | 显示全部楼层
好帖!
回复

使用道具 举报

0

主题

28

帖子

41

积分

终身VIP会员

Rank: 5Rank: 5

积分
41
发表于 2020-8-17 05:56:24 | 显示全部楼层
感谢分享,快点来学习。
回复

使用道具 举报

0

主题

18

帖子

26

积分

终身VIP会员

Rank: 5Rank: 5

积分
26
发表于 2020-8-17 06:14:09 | 显示全部楼层
java自学网「www.javaj.cn」
回复

使用道具 举报

0

主题

16

帖子

23

积分

终身VIP会员

Rank: 5Rank: 5

积分
23
发表于 2020-8-17 13:45:29 | 显示全部楼层
java在线课程
回复

使用道具 举报

0

主题

28

帖子

41

积分

终身VIP会员

Rank: 5Rank: 5

积分
41
发表于 2020-8-17 22:00:25 | 显示全部楼层
在线java开发学习网站
回复

使用道具 举报

0

主题

8

帖子

11

积分

终身VIP会员

Rank: 5Rank: 5

积分
11
发表于 2020-8-18 13:28:24 | 显示全部楼层
java开发用的是什么java
回复

使用道具 举报

0

主题

18

帖子

26

积分

终身VIP会员

Rank: 5Rank: 5

积分
26
发表于 2020-8-18 14:14:43 | 显示全部楼层
已经下载了java
回复

使用道具 举报

0

主题

16

帖子

23

积分

终身VIP会员

Rank: 5Rank: 5

积分
23
发表于 2020-8-20 11:49:48 | 显示全部楼层
免费学java的网站
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

顶部qrcode底部
请扫码本站微信公众号

QQ|Archiver|手机版|sitemap.xml|java教程视频 ( 豫ICP备2020032868号 )

GMT+8, 2020-12-4 03:37

Powered by www.javaj.cn

Copyright © 2001-2020.

快速回复 返回顶部 返回列表