JSP 面试问题与答案

JSP面试问题非常重要,如果你要进行Java面试。JSP是任何Java EE网络应用程序的组成部分,最近我写了很多关于JSP的不同功能。我们从JSP,JSP脚本的基本知识开始,并以JSP自定义标签结束,以避免JSP页面中的Java代码。

第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一百一十六条 第一

JSP 面试问题

jsp interview questions, jsp interview questions and answers for experienced, jsp interview questions and answers Here I am providing some important JSP interview questions with answers to help you in interviews. These are good JSP interview questions and answers for experienced programmers as well as beginners.Before you go through the answers, I would recommend you to read above tutorials and try to answer them yourself and test your understanding of JSP.

  1. 联合国 [什么是JSP,我们为什么需要它?] (#jsp-效益)
  2. [JSP生命周期阶段是什么?] (#jsp-life-相 . [JSP生命周期方法是什么?] (#jsp-生命周期-方法)
  3. [哪一种JSP生命周期方法可以被推翻?] (#jsp-method-override)
  4. [如何避免客户端浏览器直接访问JSP页面?] (#jsp-受限访问)
  5. [JSP中有哪些不同类型的评论?] (#jsp-comments . [JSP中的脚本,表达和声明是什么?] (#jsp-scriplet . [什么是 JSP 隐含对象?] (#jsp- 隐含对象
  6. [我们能在 JSP 声明所定义的方法中使用 JSP 隐含对象吗?] (#jsp-declaration
  7. [哪些隐含对象在普通JSP页面中不可用?] (#jsp-exception-object)
  8. [PageContext隐含对象有什么好处?] (#jsp-pagecontext)
  9. [如何配置 JSP 的 init parms?] (#jsp-init-parms) 13。 [为什么JSP中脚本元素的使用被劝阻?] (#jsp-scripting)
  10. (#jsp-nested-class) 15。 [如何在 JSP 页中禁用java 代码或脚本?] (#jsp-disable-scription)
  11. [解释 JSP 动作元素或动作标记?] (#jsp- actions
  12. [包括指令和jsp:包含动作有什么区别?] (#jsp-包含-action-vs-directive) 18 (英语). [JSP表达语言是什么,有什么好处?] (#jsp-el)
  13. [JSP EL隐含对象是什么,与JSP隐含对象有什么不同?] (#jsp-el-objects)
  14. [如何使用JSP EL获得 HTTP 方法名?] (#jsp-el-http-method)
  15. [JSP标准标记库是什么,提供一些示例用法?] (#jstl-example)(_). )22 (英语). [JSTL标签的种类是什么?] (#jsl-tags)
  16. [什么是JSP自定义标签,什么是组件?] (#jsp-Custom-tags)
  17. [在需要JSP自定义标记的地方举个例子吗?] (#jsp-custom-tags-example) 25 (英语). [为什么我们不需要在web.xml中配置JSP标准标记?] (#jsp-jstl-confit
  18. [如何处理JSP服务方法所抛出的例外?] (#jsp-error-page)
  19. (#jsp-catch) 28。 [我们如何在 JSP 中打印"
    在 HTML 中创建一行新行?] (#jsp-out-escreatxml
  20. [部署描述符中的jsp-config是什么?] (#jsp-config)
  21. [如何忽略JSP中的EL表达评价?] (#jsp-ignore-el)
  22. [集装箱何时初始化多个JSP/Servlet对象?] (#jsp-多进取)
  23. [我们能用 JavaScript 与 JSP Pages?] (#jsp-javascript)
  24. [我们如何防止在JSP中隐含的会话创建?] (#jsp-session)
  25. [JspWriter和Servlet PrintWriter有什么区别?] (#jspwriter-vs-printwriter)
  26. [如何扩展JSP技术?] (#jsp-extend)
  27. [提供一些JSP最佳做法?] (#jsp-best-practices)

JSP面试问题与答案

  1. 联合国 ### 何为JSP? 为什么我们需要它? JSP代表JavaServer Pages. JSP是java服务器侧面技术来创建动态网页. JSP是Servlet技术的扩展,以帮助开发者像语法一样用HTML创建动态页面. 我们可以在servlet中创建用户视图,但代码会变得非常丑陋并容易出错. 另外,网页上的大部分元素都是静态的,因此JSP页面更适合网页. 我们应该避免JSP页面中的商业逻辑,并尝试只用于取景目的. JSP脚本元素可用于在JSP页面中写入Java代码,但最好避免它们,并使用JSP动作元素,JSTL标记或自定义标记来实现相同的功能. 联合战略计划的另一个好处是,大多数集装箱支持热部署联合战略计划网页。 只需在JSP页面中作所需要修改,并用部署目录中更新的jsp页面来替换旧页面,而容器会加载新的JSP页面. 我们不需要编译我们的项目代码或重启服务器,而如果我们对服务器代码进行修改,我们需要再次构建完整的项目并部署它. 虽然现在大多数容器都为应用程序提供热部署支持,但JSP网页的工作更多。 () (英语). ### JSP生命周期阶段是什么? () (英语). 如果你要查看JSP的页面代码,它看起来像HTML,而不像java课. 实际上JSP容器负责翻译JSP页面,并创建用于网络应用的servlet类. JSP生命周期阶段为:1. ** 翻译** - JSP容器检查JSP的页码并分析以生成 servlet源码. 例如,在Tomcat中,您将在 TOMCAT/work/Catalina/localhost/WEBAPP/org/apache/jsp目录中找到生成的服务器类文件。 如果 JSP 页面名为 home.jsp,通常生成的 servlet 类名为 home_jsp,文件名为 home_jsp.java () ) 2. 汇编-JSP容器在此阶段汇编jsp类源代码并生成类文件. (). (英语). 3. 分类装入 - 集装箱在这一阶段将这一类装入内存。 (_) (英语). 4. ** 证明** -- -- 集装箱援引生成类的无弧构件将其装入内存并即时处理。
  2. ** 初始化** - 集装箱引用JSP类对象的init方法并初始化了在部署描述符中配置的由init参数配置的服务器配置. 在这一阶段之后,JSP准备处理客户请求. 通常从JSP的翻译到初始化发生于首次请求JSP时,但我们可以配置在部署时被加载并初始化,比如使用加载起动元素的服务器. (_) (英语). 6. ** 请求处理** - 这是JSP页面最长的生命周期,JSP页面处理客户端请求. 处理是多行并类似于服务器的,对于每个请求,都会产生出一个新的线程,并创建Servlet Request和ServletResponse对象,并引用JSP服务方法. ( (英语). 7. Destroy - 这是JSP生命周期的最后一个阶段,JSP级从记忆中卸下. 通常发生在应用程序未部署或服务器被关闭时.
  3. JSP生命周期方法是什么? (_)

) JSP生命周期方法为:1. jspInit (): 这种方法在JspPage中宣布,由JSP容器实施。 这种方法在JSP生命周期中一次被叫来以配置在部署描述符中的配置配置参数来初始化. 我们可以使用 JSP 声明脚本元素来推翻这种方法来初始化我们希望在 JSP 页面中使用的任何资源. () (英语). 2. jspService()**: 这是JSP方法,由JSP容器通过传递请求和响应对象为每个客户请求所引用. 注意,方法名称首先要用下划线来区分它和其它生命周期方法,因为我们不能超越这种方法. 所有JSP代码都进入了这种方法,默认被推翻. 我们不应该试图使用 JSP 声明脚本元素来推翻它 。 这种方法在 HttpJspPage 界面中定义. () (英语). 3. jspDestroy(): 这种方法在JSP从内存中卸出如关闭应用程序或容器时被容器所调用. 这种方法在JSP生命周期中只叫了一次,我们应该推翻这种方法来释放JSP init方法中创建的任何资源. 5. ### 哪些JSP生命周期方法可以被推翻? () (英语). 我们可以使用 JSP 声明脚本元素来覆盖 jspInit () 和 jspDestroy () 方法 。 我们应该超越 jspInit () 方法来创建我们想在 JSP 服务方法中使用的共同资源, 并超越 jspDestroy () 方法来释放共同资源 。 6。 ### 我们如何避免客户端浏览器直接访问JSP页面? () (英语). 我们知道WEB-INF目录内的任何内容都无法在网络应用程序中直接访问,因此可以将我们的JSP页面放入WEB-INF目录来避免客户端浏览器直接访问JSP页面. 但在这种情况下,我们必须像Servlets一样在部署说明中配置它。 样本配置在web.xml文件的代码片段下. ^ < servlet> < servlet-name > Test </ servlet-name > /WEB-INF/test.jsp test 测试值 ) </ servlet >

< servlet-mapping > < servlet-name > Test /Test.do () )
7. ### JSP中有哪些不同类型的评论? (
) ) JSP页面提供两种评论,我们可以使用: -- HTML 注释:由于JSP页面像HTML,我们可以使用HTML评论像-!-HTML 注释 ---. 这些评论也发送给客户端,我们可以在HTML源中看到. 因此,我们应该避免使用 HTML 注释进行代码级注释或调试注释. () ) - ** JSP评论**:JSP. 评论使用脚本编写, 如 QQ -- -- JSP 注释 - ──•••• 这些评论存在于所生成的 servlet 源代码中,而不发送到客户端. 对于任何代码关卡或调试信息注释,我们应该使用 JSP 注释. () (英语). 8. ### JSP 中的脚本、表达和宣言是什么? () ) 脚本,表达和宣言是JSP页面中的脚本元素,我们可以在JSP页面中添加java代码. 脚本标签以QQ开头,以QQ结尾. 脚本标记中写入的任何代码都进入了 QQjspService () 方法 。 例如;_____


日期d = 新日期(; ) system.out.println("当前日期="+d"); _ ______自我们使用_out.print()_方法在JSP页面中打印动态数据以来,大多数时候都会有捷径通过JSP表达式来完成. 联合战略计划 表达式以 QQ 开头并用 QQ 结尾. QQ出局. print ("Pankaj") ; 使用 JSP 表达式可以写作 QQ "Pankaj" 。 注意QQ之间的任何信息都会作为参数发送给出.print()方法. 也注意脚本可以包含多个java语句,并且总是以分号结尾(;;),但表达不会以分号结尾. 联合战略计划 声明用于声明servlet类的成员方法和变量. 联合战略计划 宣言以"!"开头,以"."结尾. 例如,我们可以在班级中创建 JSP 中的 int 变量作为 QQ ! 公用静态倒数=0; %>`. 9. ### JSP 隐含对象是什么? JSP隐含对象由容器创建,同时将JSP页面翻译为Servlet源来帮助开发者. 我们可以直接使用这些物体 在** scriplets ** 中进行服务方法, 然而,我们不能在 JSP 宣言中使用它们, 因为这个代码将进入类。 我们有9个隐含的物体,我们可以直接在JSP页面中使用. 其中7个在_jspService()_方法开始时被宣布为本地变量,而其中2个是_jspService()_方法参数的一部分,我们可以使用. Object(- ) 2. request Object(- ) 3. 响应对象(- ) 4. Cfig Object(- ) 5. 应用程序对象(- ) 6.会话对象(- ) 7. 页面对象(- ) 8. 页面对象(- ) 9. 例外对象(- ) 10. JSP 隐形对象示例(- ) 10

详细了解每一个在 [JSP 默认对象]( / 社区 / 教程 / jsp-默认对象)。

1No we can't because JSP implicit objects are local to service method and added by JSP Container while translating JSP page to servlet source code. JSP Declarations code goes outside the service method and used to create class level variables and methods and hence can't use JSP implicit objects.

21岁 ### 普通 JSP 页面中没有哪些隐含对象? () ) JSP例外隐含对象在普通JSP页面中不可用,在JSP错误页面中仅用于捕捉由JSP页面所抛出的例外并给客户端提供有用的消息. 22 (英语). ### PageContext 隐含对象有什么好处? JSP page Context隐含对象为javax. servlet.jsp.PageContext抽象类执行实例. 我们可以使用PageContext来获取和设置具有不同范围的属性,并将请求转发给其他资源. PageContext 对象还持有其他隐含对象的引用. 这是JSP隐含对象和JSP EL隐含对象中唯一常见的对象. () )23 (英语). ### 如何配置 JSP 的参数 ? ( ) ) 我们可以为 JSP 配置类似于 servlet 在 web.xml 文件的 init params, 我们需要配置 JSP init params 有 servlet 和 servlet 映射元素 。 唯一与 servlet 不同的是 jsp 文件元素, 我们需要提供 JSP 页面位置 。 () )24 (英语). ### 为何不鼓励在 JSP 中使用脚本元素? JSP页面多用于取景目的,所有业务逻辑都应该在服务器或模型类中. 我们应该通过属性将参数传递给JSP页面,然后用它们来创建JSP页面中的HTML响应. 大部分JSP页面包含HTML代码,并为了帮助网页设计者轻松地理解JSP页面并开发出它们,JSP技术提供了动作元素,JSP EL,JSP标准标记库和自定义标记,我们应该使用而不是脚本元素来弥补JSP HTML部分和JSP java部分之间的空隙. 25 (英语). ### 我们可以在 JSP Page 中定义一个类吗 ? ( )虽然这不是个好的做法,但我们可以在JSP Page内定义一个类. 下面是此选项的样本代码 :
! 私家静态类 NestedClass {// static更好,因为Servlet 已多行(- ) 私家终局 nut = 0; 公用取Num () {(- ) 返回 num; (- ) {(- ) {(- ) }(- ) {(- ) {(- ) {(- ) →(- ) 分类 {(- ) 26. ### 如何在 JSP 页面中禁用 java 代码或脚本 ? ( (英语). 我们可以通过下面的部署描述器配置来禁用 JSP 页面中的脚本元素. {} <url-pattern}{.jsp () ) truth </jsp-财产-组 > () ) #QQAbove URL-pattern 将禁用所有 JSP 页面的脚本,但如果您只想要禁用特定页面,可以给 JSP 文件名本身. () )27 (英语). 解释 JSP 行动要点或行动标记? () ) JSP动作元素或动作标记是像标记一样的HTML,提供有用的功能,例如与Java Bean合作,包括一个资源,转发请求并生成动态XML元素. JSP动作元素总是从jsp开始:我们可以直接在JSP页面中使用它们而无需导入任何标记库或任何其他配置更改. 一些重要的动作元素有:jsp:useBean,jsp:getProperty,jsp:setProperty,jsp:包含和jsp:向前. 在JSP行动要点中,更详细地了解这些内容。 () )28 (英语). ### 包含指令和 jsp:包含动作之间有什么区别? () (英语). JSP的区别包括指令和包括行动,包括在指令中,在翻译时将其它资源的内容添加到生成的服务器码中,而包含在运行时发生的动作. 另一个不同之处是,在《联合战略计划》中,包括行动,我们可以通过jsp:param行动要素在包含的资源中使用的参数,但在《联合战略计划》中则包括指令,我们不能通过任何参数。 当包含的资源是静态的,如页眉,页脚,图像文件,那么我们应当使用包含指令以更快的性能,但如果包含的资源是动态的,需要一些参数进行处理,那么我们应当使用包含动作标记. () )29 (英语). ### JSP表达语言是什么,有什么好处? ( (英语). 多数时候我们使用JSP来取景,所有的业务逻辑都存在于servlet代码或模型类中. 当我们在服务器中接收客户端请求时,我们处理它,然后在请求/会话/文本范围中添加属性以取入JSP代码. 我们还在JSP中使用请求参数、标题、饼干和init参数创建响应视图。 我们可以使用脚本和JSP表达式来取回JSP中带有java代码的属性和参数并用于取景目的. 但对于网络设计者来说,java代码很难理解,这就是为什么JSP Specs 2. 0引入了表达语言(EL),通过它我们可以轻松地使用像标记一样的HTML获得属性和参数. 表达式语言语法为"${name}`",我们可以使用EL隐含对象和EL运算符从不同范围取回属性,并用到JSP页面. 在JSP EL Tourio上,阅读更多关于JSP EL的例子方案。 () )30 (英语). ### JSP EL 隐含对象是什么,与 JSP 隐含对象有什么不同? (_) ) JSP表达式语言提供了许多可以用来从不同范围和参数值获取属性的隐含对象. 注意这些与JSP所隐含的对象不同,只包含特定范围的属性. JSP EL和JSP页面中唯一常见的隐含对象是page Context对象. 下表提供了JSP EL.|中的隐含对象列表. JSP EL 隐形物体 QQ 类型 QQ 描述 QQ QQ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 包含带有页面范围属性的地图 。 QQ 请求范围 QQ地图 曾经用请求范围获得属性值. QQ QQ会话范围 QQ地图 曾以会话范围获得属性值. QQ QQ应用程序 QQ地图 用于从应用范围获取属性值. * _ _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 用于获取请求参数值, 返回单个值 QQ( _) QQ参数参数 QQ地图 用于在数组中获取请求参数值, 当请求参数包含多个值时有用 。 QQ QQ头 QQ地图 QQ 曾获得请求头信息. ______ ______页眉 数值 QQ 地图 QQ 用于在数组中获取标题值 。 ##

饼干 ## 地图 ## ## 曾经在 JSP QQ

QQ initParam QQ地图中获得饼干值. 用于获取上下文 init params 中的上下文,我们不能将其用于 servlet init params | | page Context | page Context | page Context 与 JSP 隐含的 page Context 对象相同,用于获取请求,会话引用等. 例用是获得请求 HTTP 方法名. | 31. ### 如何使用 JSP EL 获取 HTTP 方法名 ? () (英语). 我们可以使用 PageContext JSP EL 隐含对象来获取请求对象的引用并使用点运算符在 JSP 页面中获取 HTTP 方法名. JSP EL 编码为 ${pageContext. request.method} () ) 32 (英语). ### JSP 标准标记库是什么, 提供了一些实例用法 ? () ) 联合战略计划 标准Tag库或JSTL比JSP EL或Action元素更能多功能,因为我们可以通过一个集合循环或者逃脱HTML标记来显示它们像文本一样作为回应. JSTL是Java EE API的一部分,包含在大多数服务器容器中. 但为了在JSTL的网页上使用JSTL 我们需要下载JSTL的罐子 用于你的服务器容器 大多数时候,你可以在实例项目中找到它们,并且可以使用它们. 您需要将这些库包含在项目WEB-INF/lib目录中. 这些罐子是容器专用的,例如在Tomcat,我们需要包括jstl.jar和标准. 工程构建路径中的 jar 罐文件 。 更多信息,请访问 JSTL 标签,并在[JSTL Tourio] (/community/tourios/jstl-tutorial-jstl-tags-example)查阅。 () (英语). 33. ### JSTL 标签的种类是什么? 根据JSTL的功能,它们被分为5个类型. 核心标记 - 核心标记为迭代,条件逻辑,捕获例外,url,前进或重定向响应等提供支持 2. 格式化和本地化标记 - 这些标记用于通过地块和资源捆绑格式化数字、日期和i18n支持。 ( (英语). 3. SQL标记 - JSTL SQL 标记为与Oracle, MySql等关系数据库的互动提供支持( ) ) 4. XML标记 - XML标记用于与XML文档合作,如解析XML,转换XML数据和XPath表达式评价. () 5. JSTL函数标记 - JSTL标记提供了一些我们可用于执行共同操作的功能,其中大部分用于字符串操作,如字符串连接,分块字符串等 34. ### 何为 JSP 自定义标签, 及其组件是什么 ? 有时JSPEL,Action Tags和JSTL标签都不够,我们可能会被诱惑写出java代码,在JSP页面中执行一些操作. 幸运的是,JSP是可扩展的,我们可以创建自己的自定义标记来进行某些操作. 我们可以用以下组件创建 JSP 自定义标记: - JSP 自定义标记 处理器

  • 创建标记库描述符 (TLD) 文件
  • 部署描述符 TLD的配置 我们可以使用taglib指令在JSP页面中添加自定义标记库,然后使用它.
  1. 请举例说明您需要 JSP 自定义标签 ? (_)

),让我们假设我们要显示一个带有逗号与空格的格式的数字. 这对用户来说可能非常有用,当数字确实很长的时候. 所以我们想要一些自定义标记, 如下面的:\ mytags:format Number="123456.789"格式="#,\"/"#. 根据所通过数字和格式,它应在JSP页上写出格式编号,如上一例,它应打印123 456.79。 我们知道JSTL没有为此提供任何内置标记,因此我们将创建自己的自定义标记执行,并在JSP页面中使用. 在JSP自定义标签上阅读以上实例执行. (). )36 (英语). ### 我们为什么不在web.xml中配置 JSP 标准标记? () (英语). 我们不需要在web.xml中配置JSP标准标记,因为TLD文件在JSTL罐文件的META-INF目录内. 当容器加载了网络应用程序并在JAR文件的META-INF目录中找到TLD文件时,它会自动配置它们直接用于应用程序JSP页面. 我们只要用taglib指令将其纳入JSP页面即可。 () (英语). 37. ### 如何处理JSP服务方法抛出的例外? ( (英语). 为了处理JSP页面所抛出的例外,我们只需要一个出错的页并使用页面指令定义JSP中的错误页. 要创建 JSP 错误页面,我们需要设定页面指令属性是 ErrorPage 值为真,然后可以在 JSP 中访问例外隐含对象,并使用它向客户端发送定制错误消息. 我们需要在部署描述符中定义例外和错误处理器 JSP 页面, 如下面的.\ 404 /error.jsp () ) (- ) (- ) (- ) <例外-类型>java.lang.throwable (- ) <位置>/error.jsp (-) ) ################################### #################################################################################################################################################################################################### ### 我们如何抓住例外并使用JSTL处理它? () ) 我们可以使用JSTL Core标记 c:catchers和c:if在JSP服务方法内捕获例外并处理. c:渔获物标记捕捉到例外,并包入例外变量,我们可以使用c:if条件标记来处理. 下方代码片段提供样本用法. ^ <c: catch var ="例外" QQ 英寸 x = 5/0; _ </c:捕获物 > ()

<c:if test = "${unition ne null}"

例外为:${例外}
例外消息:${unition.message}

(_) ) * * 通知在‘c:if'条件下使用JSP EL. (_). )39 (英语). ### 我们如何在 JSP 中打印`
创建 HTML 中的新行 ` ? (_) ) 我们可以使用 c: 出逃 Xml 属性来逃避 HTML 元素, 这样它就可以在浏览器中显示为文本, 对于这个方案,我们将像下面写出代码. . . . . 在 HTML 中创建一条新行"出逃 Xml="真" . . . . . . ### 部署描述符中的 jsp- 配置是什么 ? (_) ) jsp-config元素用于配置JSP页面的不同参数. 其中一些用途是: 为下面的网络应用程序配置标签库. (_ _) ``` (https://journaldev.com/jsp/tlds/mytags /WEB-INF/numberformatter.tld (_) ) \\ - 我们可以控制JSP页面中的脚本元素. (_) - 我们可以在JSP页面中控制JSP表达语言(EL)的评价. (_) ) - 我们可以定义URL模式的页面编码. (_) ) - 要定义 JSP 出行对象所使用的缓冲大小 。 (_) ) - 表示符合URL模式的资源组是JSP文档,因此必须被解释为XML文档. 41 (英语). ### 如何忽略 JSP 中的 EL 表达评价 ? ( ) 我们可以以两种方式忽略JSP页面中的EL评价. 使用页面指令作为QQ页面是ELignored=" true" 2. 在web.xml中配置 - 当您想要禁用许多 JSP 页面的 EL 评估时, 更好的方法 。 (_) ) QQ (_) ) true (_) ) ``` 42. ### 集装箱何时启动多个 JSP/ Servlet 对象? (_) MKBR1_ (英语). 如果我们在单个服务器或JSP页面的部署描述符中有多个服务器和服务器映射元素,那么容器将会为每个元素初始化一个对象,所有这些实例都会有自己的ServletConfig对象和init参数. 例如,如果我们在 web.xml 中配置一个单独的 JSP 页面,比如下面. { < servlet > < servlet-name > Test /WEB-INF/test.jsp test 测试值 (_) (_) MKBR1_)

< servlet-mapping > < servlet-name > Test /Test.do () MKBR1) </ servlet-mapping > (-MKBR1_) (-MKBR1_) > servlet-name > Test1 </ servlet-name > (-MKBR1_) /WEB-INF/test.jsp (-MKBR1_) > (-MKBR1_) > servlet-mapping > (-MKBR1_) < servlet-name > (-servlet-name > (-MKBR1_) /test1.do-url-pattern >/url-pattern > (-__KBRBRBR1) MKBR1) </ servlet-mapping > *

然后,如果我们可以访问相同的 JSP 页面,同时使用 URI 模式,那么两者都将有自己的 init 参数值。 #### 我们可以使用 JavaScript 与 JSP 页面?

1Yes why not, I have seen some developers getting confused with this. Even though JSP is a server-side technology, it's used to generate a client-side response and we can add javascript or CSS code like any other HTML page.
  1. (中文(简体) ). ### 如何防止在 JSP 中隐含的会话创建? (_ MKBR1_)默认JSP页面创建会话, 我们可以使用 JSP 页面指令会话属性来表示编译器默认不会创建会话 。 它的默认值是真实的, 会话被创建 。 要禁用会话创建, 我们可以像下面一样使用. (MKBR1) 页会话="虚假" __ 68 。 ### JspWriter 和 Servlet PrintWriter 有什么区别? () MKBR1) PrintWriter是负责将内容写作回应的实际对象. JspWriter在幕后使用PrindWriter对象并提供缓冲支持. 当缓冲器满或被冲出时,JspWriter使用PrintWriter对象将内容写入响应. ( MKBR1_)69 (英语). ### 我们如何扩展JSP技术? (_ MKBR1_ (英语). 我们可以使用自定义标记来扩展JSP技术,以避免在JSP页面中出现脚本元素和java代码. (_ MKBR1_)70 (英语). 提供一些联合战略计划的最佳做法? () MKBR1 (英语). 联合战略计划的一些最佳做法是:1。 避免JSP页面中的脚本元素. 如果 JSP EL, 动作元素和 JSTL 不满足您的需要, 那么创建自定义标记 。 () MKBR1 (英语). 2. 正确使用注释,将 JSP 注释用于代码级别或调试目的,使其不会被发送给客户端. (_ MKBR1_ (英语). 3. 避免JSP页面中的任何业务逻辑,JSP页面只应用于客户端的响应生成. (_ MKBR1_ (英语). 4. 禁用 JSP 页面中的会话创建, 其中您不需要它来改进性能 。 ( _ MKBR1_ (英语). 5. 在JSP页面开头使用页面,taglib指令,以提高可读性. (_ MKBR1_ (英语). 6. jsp的适当使用包括指令或包括基于您要求的行动,包括指令对静态内容有利,而包括行动对动态内容和运行时的资源有利。 (_ MKBR1_ (英语). 7. 使用 JSP 错误页进行适当的例外处理,以避免发送容器生成响应,以防 JSP 页面在服务方法中抛出例外。 (_ MKBR1_) 8. 如果您在JSP页面中有CSS和JavaScript代码,最好将它们放入单独的文件中并纳入JSP页面. () MKBR1) 9. JSTL的大部分时间都足以满足我们的需要,如果你找到一个没有它的情况,那么就检查你的应用设计,并尝试将逻辑放入将进行处理的服务器中,然后设置在JSP页面中使用的属性. () MKBR1 (英语)

请告知我,如果我错过了任何重要的JSP面试问题,我将在未来添加更多。

Published At
Categories with 技术
comments powered by Disqus