zoukankan      html  css  js  c++  java
  • Java面试题(二)JSP与Servlet

      博主马上要面对几家公司的面试,故自己准备了点面试题,仅供参考!可能有人要说博主前面已经有文章说过了JSP与Servlet,不必再写。但是来面试博主的公司是知道博主只是学了一半,JSP与Servlet是面试重点,故再次准备!

    1,静态与动态包含。
    答:
    <%@include file="xxx.jsp"%>是jsp中的编译指令,包含进来形成一个合体文件再编译。
    <jsp:include page="xxx.jsp">是jsp中的动作指令,将结果包含进来。
    使用静态包含只会产生一个class文件,而使用动态包含会产生多个class文件
    2,jsp有哪些内置对象?作用分别是什么?
    答:
    九个内置对象:
    pageContext
    config,表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数
    response
    exception
    out
    page【只在一个页面中保存属性,跳转页面无效】
    requet【只在一次请求中保存属性,服务器跳转有效,浏览器跳转无效】
    session【在一个会话范围中保存属性,无论何种跳转均有效,关闭浏览器后无效】
    application【在整个服务器中保存,所有用户都可以使用】

    四个作用域对象:1->2->3->4从小到大的顺序是?
    pageContext是内置对象中最重要的一个对象,它代表着JSP页面编译后的内容(也就是JSP页面的运行环境)
    3,通过什么对象可以获取八大内置对象?
    答:
    pageContext代表了JSP页面编译后的内容,理所当然的:它封装了对其他8大内置对象的引用!,
    也就是说,通过pageContext可以获取到其他的8个内置对象!
    如:
    System.out.println(pageContext.getSession());
    System.out.println(pageContext.getRequest());
    System.out.println(pageContext.getResponse());
    System.out.println(pageContext.getException());
    System.out.println(pageContext.getPage());
    System.out.println(pageContext.getServletConfig());
    System.out.println(pageContext.getServletContext());
    System.out.println(pageContext.getOut());
    4,servlet的输出对象与jsp的输出对象是否是同一类型?
    答:
    jsp--》JspWriter,
    servlet->PringWriter
    我们可以简单理解为:JspWriter就是带缓存的PrintWrieter。

    5,为什么说jsp也是一个servlet?
    jsp继承了HttpJspBase,HttpJspBase继承了HttpServlet。

    6,写出你常用的JSTL常用标签?
    <c:if>,<c:foreach>,<c:choose>,<c:when>
    7,JSP是如何被执行的?执行效率比SERVLET低吗?
    jsp比servlet多一次翻译。
    8,jsp的缺点?
    1)不好调试
    2)与其他脚本语言的交互(可读性差)
    9,什么是servlet?及生命周期?
    是在服务器上运行的,用来接受请求并作出响应java程序。
    生命周期:实列化一次,初始化一次,服务service多次,销毁一次。
    10,说出Servlet和CGI的区别?
    Servlet处于服务器进程中,只会有一个servlet实例,每个请求都会产生一个新的线程,而且servlet实例一般不会销毁
    CGI:来一个请求就创建一个进程,用完就销毁,效率低于servlet
    一个是单例,一个是多例

    11,简述JSP的设计模式?
     ModelI,JSP+JavaBean设计模式。
     ModelII,MVC设计模式。<----我们一直用的

    12,javabean就是java类。

    13,你现在用的web服务器是?
    答:tomcat。
    你的项目放在tomcat是什么目录下?webapps
    14,forward和redirect的区别?
    答:一个是转发,一个是重定向
    转发是requet对象的,重定向是response对象的
    15,Servlet的体系结构是什么?
    答:Servlet,GenericServlet,HttpServlet,自定义。
    16,jsp有哪几种元素?
    答:html,page指定,表达式,小脚本,声明(就是方法),注释
    17,Servlet中重要的包有那些,有什么区别?
    javax.servlet.*;javax.servlet.http.*;
  • 相关阅读:
    js回调函数
    .aspx 页面引用命名空间
    git使用
    C# dynamic
    vue难点解析之混入
    rollup的使用
    基本配置webpack.config.js
    webpack之copy-webpack-plugin
    rest请求和restful请求及其中涉及到的幂等特性
    centos破解压缩文件密码
  • 原文地址:https://www.cnblogs.com/lovejoying/p/9600448.html
Copyright © 2011-2022 走看看