下为我总结的另外两篇笔记,有需要可以直接点击看看
目录
5. jsp 和 servlet 的区别、共同点、各自应用的范围
6.转发(forward)和重定向(redirect)的区别
7. request.getAttribute()和 request.getParameter()有何区别
11. Http 请求的 get 和 post 方法的区别。
12. tomcat 容器是如何创建 servlet 类实例以及用到了什么原理
16.execute,executeQuery,executeUpdate 的区别是什么
21.JSP 中动态 INCLUDE 与静态 INCLUDE 的区别
24.说出 Servlet 的生命周期,并说出 Servlet 和 CGI 的区别
35. Servlet Filter Listener 启动顺序
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)的区别
-
从地址栏显示来说 forward 是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect 是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的 URL.
-
从数据共享来说 forward:转发页面和转发到的页面可以共享 request 里面的数据. redirect:不能共享数据. 3. 从运用地方来说 forward:一般用于用户登陆的时候,根据角色转发到相应的模块. redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等 4. 从效率来说forward:高. redirect:低.
7. request.getAttribute()和 request.getParameter()有何区别
-
request.getParameter()取得是通过容器的实现来取得通过类似 post,get 等方式传入的数
-
request.setAttribute()和 getAttribute()只是在 web 容器内部流转,仅仅是请求处理阶段。
-
getAttribute 是返回对象,getParameter 返回字符串
-
getAttribute()一向是和 setAttribute()一起使用的,只有先用 setAttribute()设置之后,才能够通过 getAttribute()来获得值,它们传递的是 Object 类型的数据。而且必须在同一个 request 对象中使用才有效。,而 getParameter()是接收表单的 get 或者 post 提交过来的参数
9. MVC 的各个部分都有哪些技术来实现以及如何实现
-
MVC 是 Model-View-Controller 的简写。"Model" 代表的是应用的业务逻辑(通过 JavaBean, EJB 组件实现), "View" 是应用的表示面(由 JSP 页面产生),"Controller" 是提供应用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用
11. Http 请求的 get 和 post 方法的区别。
-
Get 是向服