1.描述JSP和Servlet的区别、共同点、各自应用的范围。

区别:简而言之,Servlet可以看作是HTML的Java代码,而JSP可看作是包含Java代码的HTML。

共同点:JSP和Servlet实际上是一回事。JSP页面最终要转换成Servlet,并进行编译,在请求期间执行的实际上是编译后的Servlet。因此,JSP页面不过是编写Servlet的另一种方式。

各自应用的范围:Servlet比较适合于做处理任务,如做业务逻辑;JSP适合于表示任务,如网页制作,生成动态网页。

2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符?

要筛选:<  > & “”。>用& lt代替,<用& gt代替,“和”用& quot代替,&用& amp代替。

3.Servlet的生命周期?

Servlet运行在容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init,service和destroy方法来表示。Servlet的生命周期包含以下四个阶段:加载和实例化、初始化、处理请求以及服务结束。

4.forward() 与sendRedirect()的区别?

前者仅是服务器端转发请求,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是客户端重定向,浏览器将会得到重定向的地址,并重新发送请求。这样,从浏览器的地址栏中可以看到转向后的地址。后者对客户端来说完成了2次请求过程,所以,前者更加高效也有助于隐藏实际的链接。在有些情况下,比如,需要重定向到另一个服务器上的资源,则必须使用sendRedirect()方法。

5.Jsp和Servlet中的请求转发分别如何实现?

JSP的转发请求可通过<jsp:forward>标准动作来完成; Servlet转发请求可通过forward() 方法来实现。

6.Servlet和CGI的区别

servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

7.jsp有哪些隐式对象?作用分别是什么?

request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

page page表示从该页面产生的一个servlet实例
     exception 表示JSP页面运行时产生的异常

8.JSP中动态INCLUDE与静态INCLUDE的区别?
  动态INCLUDE用jsp:include动作实现,<jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file="included.htm" %> 。

9.两种跳转方式分别是什么?有什么区别?
答:有两种,分别为:
<jsp:include page="included.jsp" flush="true">
<jsp:forward page= "nextpage.jsp"/>
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。

未完待续……

Java面试题之ServletJSP篇相关推荐

  1. Java面试题之基础篇

    前言         网上的Java面试题文章有非常多,但是我觉得有的比较繁琐,有的比较浅,不太好理解甚至随着java版本更新,很多以前的答案也不太准确了,正巧准备要跳槽了,所以我就整理了一篇java ...

  2. [转载] 必须要会回答的Java面试题(字符串篇)

    参考链接: 比较Java中的两个字符串String 最近很多学习java的小白问我字串相关的问题,觉得很有必要整理下,以方便初学者理解字符串以及应对今后面试中考官的提问. 如果你是有几年Java开发经 ...

  3. Java面试题-集合框架篇三

    21.ArrayList和Vector的区别 这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态 ...

  4. java面试题之-Redis篇(持续更新)

    文章目录 Redis基础 01.Redis里有哪些数据类型? 02.Redis为什么能够快速执行? 03.那Redis怎样防止异常数据不丢失的(Redis的如何持久化)? 04.缓存穿透.缓存击穿.缓 ...

  5. 超详细的Java面试题汇总(基础篇+框架篇)

    Java面试题汇总-基础篇 1.面向对象是什么? 答:面向对象是一种思想,世间万物都可以看做一个对象,这里只讨论面向对象编程(OOP),Java是一个支持并发.基于类和面向对象的计算机编程语言,面向对 ...

  6. 备战2022年春季面试Java面试题库-数据库Mysql篇《收藏》

    前言 本文主要涉及到的面试问题点比较多各种各样的,本文主要涉及到的是数据库Mysql,面试题我就把我常遇到的和一些出现频率比较多的问题整理出来了. 如果想要学习资料的小伙伴可以点击下面的链接交个朋友我 ...

  7. java 百分比相加_2019年Java面试题基础系列228道(5),快看看哪些你还不会?

    2019年Java面试题基础系列228道 Java面试题(一) 第一篇更新1~20题的答案解析 第二篇更新21~50题答案解析 第三篇更新51~95题答案解析 Java面试题(二) 第四篇更新1~20 ...

  8. Java面试题阶段汇总

    希望能够坚持不断的整理,做最全的Java面试题题库,帮助更多的人在面试过程中发挥出自己的实力.也希望自己能够持之以恒的做一件事情不忘初心,加油! 初级面试题 Java面试题-基础篇一 Java面试题- ...

  9. 年终盘点 | 2019年Java面试题汇总篇(附答案)

    作者 | 老王 来源 | Java中文社群「微信公众号」 在这岁月更替辞旧迎新的时刻,老王盘点了一下自己 2019 年发布的所有文章,意外的发现关于「Java面试」的主题文章,竟然发布了 52 篇,几 ...

最新文章

  1. 招聘 | 阿里巴巴搜索推荐事业部-知识图谱校招
  2. 远程连接linux服务器mysql
  3. 【CyberSecurityLearning 附】虚拟机部署Linux操作系统(centos6.9、Ubuntu16.04)
  4. 2021牛客多校1 - Hash Function(思维+FFT)
  5. Laravel Composer 命令大全
  6. 监控linux终端键盘输入,Linux内核实时监控键盘输入
  7. magento 2 引用 css,Magento2在Phtml文件中调用显示静态块
  8. 把代码写成艺术,真正体会面向对象编程思想
  9. cnnvd爬取漏洞信息
  10. HTML5期末大作业:游戏网站设计与实现——基于bootstrap响应式游戏资讯网站制作HTML+CSS+JavaScript
  11. 阿尔伯塔计算机硕士录取,阿尔伯塔大学计算机工程专业硕士.pdf
  12. [CTSC2010]珠宝商(点分治+根号分治+后缀自动机)
  13. 共同好友(java)
  14. 深度推荐模型 -NFM
  15. c 多文件全局变量_必须知道的C语言知识细节:C程序编译后内存到底是如何布局...
  16. 瑞士轮 pascal
  17. 论文阅读:Oriented RepPoints for Aerial Object Detection (CVPR 2022)
  18. 使用宝塔面板快速搭建谷歌出品图片在线压缩工具 - Squoosh
  19. 工程制图点的投影练习
  20. 【力扣周赛】第347场周赛

热门文章

  1. PLC的面向对象编程
  2. OpenCV视频目标跟踪及背景分割器
  3. 关于二维数组传参做形参
  4. C#中WorkBook的操作
  5. 【国内博客】国内常见的 博客 主页 (IT)
  6. idea修改代码提示的快捷键
  7. 乐观锁和悲观锁的简单实现
  8. Handler原理讲解及源码分析
  9. 对已有apk进行重新签名
  10. 神经网络中的对抗攻击与对抗样本