java面试题5

041.http协议和https协议区别

http协议属于应用层的协议(封装的tcp),现在大多的互联网都是通过Http协议进行连接,是免费协议,https协议是安全的http协议,此协议是采用对称加密算法来保证数据传送的, 安全性,是收费协议

042.请详细描述下一次http请求到最后响应这之间的过程?

     客户端发起http请求,因为http协议是基于tcp协议,会首先经过dns解析,找到目标服务器,发起tcp连接进行三次握手,之后连接进入tomcat,tomcat会对连接进行处理,处理完毕之后响应一个html文档给客户端,客户端通过浏览器进行可视化,断开连接的时候进行四次挥手.

043. 详细描述 MVC 模式

基于 java 的 web 应用系统采用 MVC 设计模型,即用 Model(模型)、View(视图)和 Controller(控制)分离设计,这是目前 web 应用服务系统的主流设置方向。

Model:处理业务逻辑的模块。

View:负责页面显示,显示 Model 的处理结果给用户,主要实现数据到页面的转换过程。

Controller:负责每个请求的分发,把 Form 数据传递给 Model 进行处理,处理完成后,把处理结果返回给相应的

View 显示给用户。 

MVC模式和springMVC的关系:

044. Servlet JSP 的区别

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

045. servlet 的生命周期

1、init():Servlet 初始化方法,仅会执行一次。

2、service():Servlet 服务方法,主要接受请求,处理请求,响应请求。一旦有 request 请求,则会自动调用, 会执行多次。

3、destory():Servlet 销毁方法,释放资源。一般来说不会调用,只有当服务器关闭时,才会调用,且仅调用 一次。

046. forward redirect 的区别

1、请求转发实际只发生了一次请求,而重定向发生了两次请求;

2、请求转发可以通过 request 进行数据传递,而重定向因为产生了两个 request 对象无法进行数据传递;

3、请求转发浏览器地址栏 URL 不会发生变化,而重定向 URL 会发生变化;

4、请求转发只能转发至系统内部资源,而重定向既可以访问内部资源,也可以重定向到外部资源。

047. JSP 九大内置对象

JSP 一共有 9 个内置对象:

request:负责得到客户端请求的信息,对应类型:javax.servlet.http.HttpServletRequest

response:负责向客户端发出响应,对应类型:javax.servlet.http.HttpServletResponse

session:负责保存同一客户端一次会话过程中的一些信息,对应类型:javax.servlet.http.httpsession

out:负责管理对客户端的输出,对应类型:javax.serlvet.jsp.jspwriter

application:表示整个应用环境的信息,对应类型:javax.servlet.servletcontext

config:表示 ServletConfig,对应类型:javax.servlet.servletconfig

exception:表示页面中发生的异常,可以通过它获得页面异常信息,对应类型:java.lang.exception

pagecontext:表示这个 JSP 页面上下文,对应类型:javax.servlet.jsp.pagecontext

page:表示当前 JSP 页面本身。

048. JSP 的域对象

1、page 是代表一个页面相关的对象和属性。一个页面由一个编译好的 java servlet 类(可以带有 include 指令,但不可以带有 include 动作)表示。这既包括 servlet 又包括编译成 servlet 的 jsp 页面。

2、request 是代表与 web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 web组件(由于 forware 指令和 include 动作的关系)

3、session 是代表与用于某个 web 客户机的一个用户体验相关的对象和属性。一个 web 回话也可以经常跨域多个客户机请求。

4、application 是代表与整个 web 应用程序相关的对象和属性。这实质上是跨域整个 web 应用程序,包括多个页面、请求和回话的一个全局作用域。

049. get post 的区别 (put,delete)

1、get 是用来从服务器上获取数据,而 post 是用来向服务器传递数据

2、get 将表单中数据按照 variable=value 的形式,添加到 action 所指向的 URL 后面,并且两者用""连接,变量之间用"&"连接;

而 post 是将表单中的数据放在 form 的数据体中,按照变量与值对应的方式,传递到 action 所指定的 URL。

3、get 是不安全的,因为在传输过程中,数据是被放在请求的 URL 中;而 post 的所有操作对用户来说都是不可见的。

4、get 传输的数据量小,这主要应为受 url 长度限制;而 post 可以传输大量的数据,所有上传文件只能用 post 提交。

5get 限制 form 表单的数据集必须为 ASCII 字符;而 post 支持整个 IS01 0646 字符集。

6、get 是 form 表单的默认方法。

050. HttpSession的实现原理?为什么tomcat可以根据不同的用户取到不同的session

   session是通过cookie来实现的,当tomcat创建用户的session的时候,会向浏览器响应一个记录着该用户sessionId的cookie,("JSESSIONID","5435dsadfdsfsfdsf")浏览器接收到cookie之后会将cookie保存在浏览器内存中,以后该客户端每次访问tomcat的时候,都会携带着该cookie。

更多请查看我个人主页分栏进行查看,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值