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 提交。
5、get 限制 form 表单的数据集必须为 ASCII 字符;而 post 支持整个 IS01 0646 字符集。
6、get 是 form 表单的默认方法。
050. HttpSession的实现原理?为什么tomcat可以根据不同的用户取到不同的session?
session是通过cookie来实现的,当tomcat创建用户的session的时候,会向浏览器响应一个记录着该用户sessionId的cookie,("JSESSIONID","5435dsadfdsfsfdsf")浏览器接收到cookie之后会将cookie保存在浏览器内存中,以后该客户端每次访问tomcat的时候,都会携带着该cookie。
更多请查看我个人主页分栏进行查看,谢谢