专业技术面试题

2019-02-22  本文已影响0人  小叶子_bb

1.oop编程思想

面向对象编程,以对象为中心,强调对象的“抽象”、“封装”、“继承”、“多态”

2.JavaWeb

   通过java语言能够在网站上访问浏览的程序

   分为两种模式B/S  浏览器端无需下载

                C/S  客户端下载需要更新

   常用的有servlet/jsp

    Servlet服务器端执行java程序,处理业务逻辑,需要由web服务器进行加载(tomcat)

    JSP是一个页面,便于输出,可在页面中插入java代码,jsp 的四个作用域 page ,request,session,application

三大指令1. Page 指令对整个页面有效,包括静态的包含文件用属性如下:

 (1) language属性该属性用于设置JSP页面使用的语言,目前只支持Java语言。例:<%@ page language=”java” %>

 (2) extends属性该属性用于设置JSP页面所继承的Java类,JSP和Servlet都可以继承指定的父类,但该属性并不常用.

 (3) import属性该属性用于设置JSP所导入的类包,JSP页面可以嵌入Java代码片段,这些Java代码在调用API时需要导入相应的类包。例:<%@page import=”java.util.*” %>

 (4) pageEncoding属性该属性用于定义JSP页面的编码格式,指定的文件编码格式。例:<%@ page

pageEncoding=”UTF-8” %>

 (5) contentType属性该属性用于设置JSP页面的MIME类型和字符编码,浏览器会根据些解释页面。例:<%@ page contentType=”text/html;charset=utf-8” %>

2.include 该指令可以在一个JSP页面中包含另外一个文件中的内容,Eg:<%@include file=”other.jsp” %>

3. taglib指令允许用户使用标签库自定义新的标签

Eg:<% taglib uri="taglibURI"

prefix="tabPrefix"%>

 uri属性用于根据标签的前缀对自定义的标签进行唯一的命名,其值可以是相对路径,绝对路径或标签库描述文件。属性prefix制定了标签的前缀。

 3.Spring框架核心技术

   1.IOC控制反转,将你设计好的对象交给容器控制,而不是传统的在对象内部控制。

        实现原理工程模式和反射机制

   2.DI依赖注入,对象之间的依赖关系由bean对象自己来处理,达到类之间的松耦合。

        依赖注入的三种方式构造函数注入setter 注入接口注入

  3.AOP面向切面编程,动态的将代码切入到类的指定位置上,面向切面更像是为了解决一个特定的问题而设计的一种编程方法,比如添加日志控制,权限管理,一般直接添加的话会修改很多代码,提高耦合度。为了在实现某些功能前或后再实现一些功能。

   动态代理设计模式:动态代理是实现方式,可以在目标对象实现的基础上,增强额外的基础操作。通过反射来实现的,借助Java自带的java.lang.reflect下的Proxy类和InvocationHandler接口。

什么是spring bean?

它们是构成用户应用程序主干的对象。Bean 由 Spring IoC 容器管理。它们由 Spring IoC 容器实例化,配置,装配和管理。Bean 是基于用户提供给容器的配置元数据创建。

4.SpringMVC核心流程

   1.用户发送请求到前段控制器DispatcherServlet

   2. DispatcherServlet收到请求调用HandlerManpping处理器映射器

   3.处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器一并返回给DispatcherServlet

   4. DispatcherServlet调用HandlerAdapter处理器适配器

   5.HandlerAdaper经过适配调用具体的处理器(Controller)

   6.Controller执行并返回值

   7.HandlerAdapter将Controller执行结果返回给DispatcherServlet

   8. DispatcherServlet将结果传送给ViewReslover试图解析器

   9.试图解析器解析后返回具体的view

   10. DispatcherServlet根据View进行渲染试图,相应用户。

5.SpringMVC获取到Form表单参数的几种形式

1.Spring会自动将表单参数注入方法参数,和表单name属性保持一致

2.使用HttpServletRequest获取

3.自动注入Bean属性

6.SpringMVC怎样设定重定向和转发的

  转发在返回值前加forward:user.do?name=method3

       服务器端行为,一次请求,只能在当前项目内转发,转发的url不会变

  重定向在返回值前加redirect:

       客户端行为,两次请求,可定向到任意网站,url会变话。

7. SpringMVC的控制器是单列模式吗有什么问题

   SpringMVC是单列模式,在多线程访问时有线程安全问题,不要同步,会影响性能,不要再controller中定义成员变量

上一篇下一篇

猜你喜欢

热点阅读