• javaEE简答题整理


    1、 什么是JavaEE?其编程思想是什么?

    JavaEE是一个标准的中间件体系结构,是企业分布式应用开发标准。JavaEE的编程思想是组件—容器。

    2、 为什么提出JavaEE体系结构?

    1)为满足开发多层体系结构的企业级应用的需求,提出了JavaEE:分布式,可移植,旧系统集成支持,面向Web,满足企业计算要求(一致性、事务性、安全性),要有好的特性(可伸缩、可扩展、易维护)

    2JavaEE提供了一套完整的解决所有这些问题的框架方案:提供了分布式、可移植组件的框架,为组件与应用服务器提供标准API,简化了服务器端中间层组件的设计

    3、 简述JavaEE体系包含的主要技术。

    组件技术(客户端组件、Web组件、业务组件)、服务技术、通信技术

    4、 JavaEE应用有哪些优点?

    独立于硬件配置和操作系统;坚持面向对象的设计原则;灵活性、可移植性和互操作性;轻松的企业信息系统集成 

    5、 Java ServletJSP的比较。

    相似:两者都是基于Java的技术,所以都继承了Java的所有特性(跨平台、多线程、OO ),都可以使用Java强大的API

         两者工作方式相似:JSP代码先被JSP容器转换为Servlet代码再编译为类;

         两者在JavaEE体系结构中的工作层次相同,都负责与客户端的连接。

    不同:编程方式不同。Servlets是一些运行于Web服务器端的Java小程序;而JSP是脚本,编写起来更简单容易;

         应用目的不同。Servlet主要用于从客户端接收请求信息,而JSP主要负责将服务器端信息传送到客户端;使用JSP的真正意义在于:可以将界面设计和业务逻辑设计分离。

    6、 什么是Servlet?它与Applet之间有何异同?

    Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。

      相同之处:他们都不是独立的应用程序,没有main()方法;他们都不是由用户调用,而是由另外一个应用程序调用;他们都有一个生存周期,包含init()destroy()方法。

      不同之处:Applet运行在客户端,具有丰富的图形界面;Servlet运行在服务器端,没有图形界面。

    7、 简述Servlet的工作流程。

    1)客户机将请求发送到服务器。

    2)服务器上的Web容器实例化(装入)Servlet

    3Web容器将请求信息发送到 Servlet。 

    4Servlet 创建一个响应,并将其返回到Web容器。

    5Web容器将响应发回客户机。

    6)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。

    8、 论述客户端请求、会话与Servlet上下文之间的关联。

    ServletContext,Session,Request这三个容器都放在WEB容器中如TOMCAT中,相当于容器中再套容器,而ServletContext就相当与一个能够控制Servlet这个的一个管家一样,管理着它的生命周期之类和通信只类的,而Session容器就是管理或者说控制请求来到时给客户端发送一个SessionID,并且自己服务端也保存一个SessionID,以便如果下次得到请求时做SessionID的比较,看是否是同一种请求,如果是就响应的速度就快一些.而Request容器之管理请求对象的,在建立会话的同时Request就建立了,但Request之做请求的事,比如从客户端得到客户相映的信息等,例如:属性值,报头信息,参数信息等等.但如何响应客户端,就需要通过会话容器保存的ID或者其他的信息来决定,再通过Response对象响应给客户端.

    9、 写出JSP九种内置对象及其作用范围。

    request对象代表来自客户端的请求,作用域request

    response对象向客户端发送数据,作用域page

    session对象支持Web应用开发过程中的会话管理,作用域session

    application对象代表运行在服务器上的Web应用程序,作用域application

    out对象代表了向客户端发送数据的对象,作用域page

    exception对象用来处理JSP文件在执行时所发生的错误和异常,作用域page

    page,作用域page

    pagecontext,作用域page

    Config,作用域page

    10<jsp:forward>response.sendRedirect实现重定位有何不同?

    Response.sendRedirect()其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定页面,所以用sendRedirect()时,浏览器的地址栏上可以看到地址的变化,而<jsp:forward>则不同,它是直接在服务器端执行重定位的,浏览器并不知道,从而浏览器的地址并不变化。

    11、一个JavaBean必须符合哪些设计规则?

    (1)对于数据类型“protype”的每个可读属性,Bean 必须有下面签名的一个方法:public proptype  getProperty() { };

    (2)对于数据类型“protype”的每个可写属性,Bean 必须有下面签名的一个方法:public setProperty(proptype  x) { };

    (3)定义一个不带任何参数的构造函数。

    12JSP如何与JavaBean结合?二者如何传递信息?

    JSP页面通过标记<jsp:useBean>,<jsp:setProperty>及<jsp:getProperty>与JavaBean结合。

    通过标记<jsp:useBean>引入JavaBean, 然后分别利用<jsp:getProperty>标记和直接调用JavaBean对象的方法来获取JavaBean属性,利用<jsp:setProperty>标记和直接调用JavaBean对象的方法来设置JavaBean属性。

    13、简述JDBC工作原理。

    (1)加载连接数据库的驱动程序:Class.forName("com.mysql.jdbc.Driver");

    (2)创建与数据源的连接:String url = "jdbc:mysql://localhost:3306/test";
        Connection con = DriverManager.getConnection(url,"user","passwd");

    (3)查询数据库:创建Statement对象并执行SQL语句以返回一个ResultSet对象
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("select * from DBTableName");

    4)获取当前记录集中的某一记录的各个字段的值:String name = rs.getString("name");
    int age = rs.getInt("age");
    float wage = rs.getFloat("wage");

    5)关闭结果集,关闭查询语句,断开与数据库的连接:

    rs.close();
    stmt.close();
    con.close();

    14、什么是数据源?什么是连接池?二者之间的关系怎样?

    数据源是一种数据库对编程提供的一个接口,每个数据源对应一个数据库。

    连接池实际上是JDBC为第三方应用服务器提供的一个由数据库厂家实现的管理标准接口

    连接池一定以数据源的形式来提供服务。但是数据源并不依赖连接池。数据源保存的实例可以是直接通过JDBC驱动来访问数据库。

  • 相关阅读:
    Autoit 使用
    小狼毫安装五笔输入法
    MIT 6.824 MapReduce
    基于JDBC封装数据库基本CURD操作
    利用反射特性完成对象的拷贝
    基于HTTP协议和HttpURLConnection完成网上资源的爬取
    应用多线程解决文件拷贝加进度条项目
    java动态代理详解
    [转]String、StringBuffer与StringBuilder之间区别
    “内聚性”和“耦合性”
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/4937370.html
Copyright © 2020-2023  润新知