• java知识点查漏补缺-- 2020513


    重载和重写

    方法重载(overload):

    1. 必须是同一个类
    2. 方法名(也可以叫函数)一样
    3. 参数类型不一样或参数数量不一样

    方法的重写(override)两同两小一大原则:

    1. 方法名相同,参数类型相同
    2. 子类返回类型小于等于父类方法返回类型,
    3. 子类抛出异常小于等于父类方法抛出异常,
    4. 子类访问权限大于等于父类方法访问权限。

    spring的依赖注入

    spring依赖注入有如下几种方式:

    ①setter方式注入(设值注入)

    ②构造器方式注入

    Spring支持利用构造器注入参数实例化Bean方式。只要在Spring的配置文件中增加构造器参数constructor-arg

    Spring就会自动的调用有参数的构造器创建bean对象实例, 整个过程无需程序编码只需要配置applicationContext.xml文件即可

    img

    ③自动装配功能实现属性自动注入

    Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系,autowire可以针对单个bean进行设置,

    autowire的方便之处在于减少xml的注入配置。

    在xml配置文件中,可以在元素中使用autowire属性指定自动装配规则,一共有五种类型值:

    img

    img

    关于Spring MVC的核心控制器DispatcherServlet的作用

    SpringMVC的原理:

    SpringMVC是Spring中的模块,它实现了mvc设计模式的web框架,首先用户发出请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handler,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handler进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。

    DispatcherServlet作为springMVC的前端控制器,负责接收用户的请求并根据用户的请求返回相应的视图给用户。

    img

    DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。

    DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:

    1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;

    2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);

    3、 通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);

    4、通过ViewResolver解析逻辑视图名到具体视图实现;

    5、本地化解析;

    6、渲染具体的视图等;

    7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。

    JSP内置对象

    一共有9个内置对象

    pageContext javax.servlet.jsp.PageContext 表示页容器 EL表达式、 标签 、上传
    request javax.servlet.http.HttpServletRequest 服务器端取得客户端的信息:头信息 、Cookie 、请求参数 ,最大用处在MVC设计模式上
    response javax.servlet.http.HttpServletResponse 服务器端回应客户端信息:Cookie、重定向
    session javax.servlet.http.HttpSession 表示每一个用户,用于登录验证上
    application javax.servlet.ServletContext 表示整个服务器
    config javax.serlvet.ServletConfig 取得初始化参数,初始化参数在web.xml文件中配置
    exception java.lang.Throwable 表示的是错误页的处理操作
    page java.lang.Object 如同this一样,代表整个jsp页面自身
    out javax.servlet.jsp.JspWriter 输出 ,但是尽量使用表达式输出
  • 相关阅读:
    Java数据结构与算法(24)
    urllib2使用总结
    Python常见文件操作的函数示例
    Java数据结构与算法(23)
    python代码风格检查工具──pylint
    Python抓取框架:Scrapy的架构
    Java数据结构与算法(22)
    【codeforces 431D】Random Task
    【codeforces 449C】Jzzhu and Apples
    【codeforces 20B】Equation
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/12881113.html
Copyright © 2020-2023  润新知