zoukankan      html  css  js  c++  java
  • java面试题12

    1、  jsp与servlet的区分?

    答:Servlet和JSP都是基于java语言上的动态网页技术,Servlet程序其实就是java程序,只不过它所使用的类库为JAVA Servlet API,用于编写服务器端的程序.Servlet继承了Java语言所具有的优点----                        跨平台,安全性,易开发.但是,Servlet的页面现实和业务逻辑没有分离,使其编写难度较大.      为此,sun公司退出了一种新的动态网页技术---JSP.jsp是在传统的HTML页面中加入java程序,片段和jsp标记构成.这样,就可以将页面表示层和业务逻辑层进行分离.将页面表示层和业务逻辑层分离的好处是:Web开发人员可以使用HTML来设计页面的显示部分,而程序开发人员可以使用jsp指令和java程序片段来实现业务逻辑功能.      Servlet和jsp作为J2EE开发平台的一部分,它们最大的好处就是跨平台性,可实现一次编写,处处运行.

    2、  解释下xml的解析,在哪些地方用到的?

    答:SAX和DOM 两种 Java里面用的是JDOM。                                                       

    ○ 解析方式有:                                                 

    ⑴   DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问;                                                       

    ⑵SAX:不同于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。                                                   

    ○ 定义方式:DTD(文档类型定义)和Schema。

    3、设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,列出各部门中工资不低于600元的职工的平均工资

    答:SELECT AVG(sal) FROM EMP WHERE sal >=600

    4、

                                           

    答:120

    5、

    答:

     

    6、下面的哪些叙述为真()

    A.equals()方法判定引用值是否指向同一对象。

    B.= = 操作符判定两个不同的对象的内容和类型是否一致。

    C.equals()方法只有在两个对象的内容一致时返回true。

    D. 类File重写方法equals()在两个不同的对象的内容和类型一致时返回true。

    答:A

    7、

    答:B

    8下列程序段执行后的结果是(  )。

    String s=new String("abcdefg");

    for(int i=0;i<s.length();i+=2){

    System.out.print(s.charAt(i));}

    A) aceg

    B) ACEG

    C) abcdefg

    D) abcd

    答:A

    9、Request对象的主要方法(最少7个)

    答:setAttribute(String name,Object):设置名字为name的request的参数值

    getAttribute(String name):返回由name指定的属性值

    getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例

    getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

    getCharacterEncoding():返回请求中的字符编码方式

    getContentLength():返回请求的Body的长度

    getHeader(String name):获得HTTP协议定义的文件头信息

    getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例

    getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例

    getInputStream():返回请求的输入流,用于获得请求中的数据

    getMethod():获得客户端向服务器端传送数据的方法

    getParameter(String name):获得客户端传送给服务器端的有name指定的参数值

    getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

    getParameterValues(String name):获得有name指定的参数的所有值

    getProtocol():获取客户端向服务器端传送数据所依据的协议名称

    getQueryString():获得查询字符串

    getRequestURI():获取发出请求字符串的客户端地址

    getRemoteAddr():获取客户端的IP地址

    getRemoteHost():获取客户端的名字

    getSession([Boolean create]):返回和请求相关Session

    getServerName():获取服务器的名字

    getServletPath():获取客户端所请求的脚本文件的路径

    getServerPort():获取服务器的端口号

    removeAttribute(String name):删除请求中的一个属性

    10、说出数据连接池的工作机制是什么?

    答:J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱

    动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建

    连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个

    连接。

    11、项目中如何体现Spring中的切面编程,举例说明

    答:面向切面编程:主要是横切一个关注点,将一个关注点模块化成一个切面。在切面上声明一个通知(Advice)和切入点(Pointcut); 通知: 是指在切面的某个特定的连接点(代表一个方法的执行。通过声明一个org.aspectj.lang.JoinPoint类型的参数可以使通知(Advice)的主体部分获得连接点信息。)上执行的动作。通知中定义了要插入的方法。切入点:切入点的内容是一个表达式,以描述需要在哪些对象的哪些方法上插入通知中定义的方法。

       项目中用到的Spring中的切面编程最多的地方:声明式事务管理。

       a、定义一个事务管理器

       b、配置事务特性(相当于声明通知。一般在业务层的类的一些方法上定义事务)

       c、配置哪些类的哪些方法需要配置事务(相当于切入点。一般是业务类的方法上)

    12、springmvc工作机制(流程)

    答:spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
    DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
    DispatcherServlet请请求提交到目标Controller
    Controller进行业务逻辑处理后,会返回一个ModelAndView
    Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
    视图对象负责渲染返回给客户端

  • 相关阅读:
    java开发:分享一下百度ueditor和七牛的图片集成上传
    java开发:分享一下使用urlrewrite实现网址的个性访问
    javascript应用:页面解析list和map封装后的json数据
    JAVA开发:分享一些SpringMvc+Ibatis+spring的框架使用心得
    使用OLEDB读取excel和csv文件
    静态代码块、构造代码块
    序列化和反序列化
    windows下Mysql5.7.10免安装版配置
    form表单中的encType属性
    关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)
  • 原文地址:https://www.cnblogs.com/Blogyin/p/8145400.html
Copyright © 2011-2022 走看看