【7】进大厂必须掌握的面试题-Java面试-Jsp
1. jsp的生命周期方法是什么?
方法 | 描述 |
---|---|
公共无效的jspInit() | 与servlet的init方法相同,仅被调用一次。 |
公共无效_jspService(ServletRequest request,ServletResponse)引发ServletException,IOException | 它在每次请求时都被调用,与servlet的service()方法相同。 |
公共无效的jspDestroy() | 与servlet的destroy()方法相同,仅调用一次。 |
2.什么是JSP隐式对象?
默认情况下,JSP提供9个隐式对象。它们如下:
对象 | 类型 |
---|---|
1)out | JspWriter |
2)request | HttpServletRequest |
3)response | HttpServletResponse |
4)config | ServletConfig |
5)session | HttpSession |
6)application | ServletContext |
7)pageContext | PageContext |
8)page | Object |
9)exception | Throwable |
3. include指令和include操作之间有什么区别?
包含指令 | 包括动作 |
---|---|
include指令包含页面翻译时的内容。 | 包含动作包含请求时的内容。 |
include指令包含页面的原始内容,因此页面大小会在运行时增加。 | include操作不包含原始内容,而是调用Vendor提供的类的include()方法。 |
静态页面更好。 | 动态页面更好。 |
4.如何禁用浏览器后退按钮上的缓存?
<**%
response.setHeader(“ Cache-Control”,“ no-store”);
response.setHeader(“ Pragma”,“ no-cache”);
response.setHeader(“ Expires”,“ 0”); //防止在代理服务器上缓存
%**>
5. JSTL中提供了哪些不同的标记?
JSTL标签有5种类型。
- 核心标签
- sql标签
- xml标签
- 国际化标签
- 功能标签
6.如何在JSP中禁用会话?
<%@ page session=“false” %>
7.如何在JSP中删除Cookie?
以下代码说明了如何在JSP中删除Cookie:
Cookie mycook = new Cookie("name1","value1");
response.addCookie(mycook1);
Cookie killmycook = new Cookie("mycook1","value1");
killmycook.set MaxAge ( 0 );
killmycook.set Path ("/");
killmycook.addCookie ( killmycook 1 );
8.解释jspDestroy()方法。
每当要销毁JSP页面时,都会从javax.servlet.jsp.JspPage接口调用jspDestry()方法。Servlet的destroy方法可以很容易地被覆盖以执行清理,例如关闭数据库连接时。
9. JSP是否比Servlet技术更好?
JSP是服务器方面的一项技术,可简化内容生成。它们以文档为中心,而servlet是程序。Java服务器页面可以包含Java程序的片段,这些片段执行和实例化Java类。但是,它们出现在HTML模板文件中。它提供了开发Web应用程序的框架。
10.为什么我们不应该在web.xml中配置JSP标准标记?
我们不需要在web.xml中配置JSP标准标记,因为当容器加载Web应用程序并找到TLD文件时,它会自动将它们配置为直接在应用程序JSP页面中使用。我们只需要使用taglib指令将其包含在JSP页面中即可。
11.您将如何使用JSP EL以获得HTTP方法名称?
使用pageContext JSP EL隐式对象,您可以获取请求对象引用,并使用点运算符在JSP页面中检索HTTP方法名称。用于此目的的JSP EL代码将类似于$ {pageContext.request.method}。