美文网首页
置顶-SSM题库

置顶-SSM题库

作者: 通灵路耳 | 来源:发表于2020-04-02 11:15 被阅读0次

    SpringMVC

    1、SpringMVC 的工作原理
      a、spring mvc请所有的请求都提交给(前端控制器)DispatcherServlet,它
    会委托应用系统的其他模块负责负责对请求进行真正的处理工作。 
      b、DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
      c、DispatcherServlet请请求提交到目标Controller
      d、Controller进行业务逻辑处理后,会返回一个ModelAndView
      e、Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 
      f、视图对象负责渲染返回给客户端。 
    
    2、SpringMVC 常用注解都有哪些?
    @Controller:定义了一个控制器类
    @RequestMapping:用来处理请求地址映射的注解
    @RequestBody 注解实现接收 http 请求的 json 数据,将 json 数据转换为 java 对象。
    @ResponseBody 注解实现将 controller 方法返回对象转化为 json 响应给客户。
    
    3、如何开启注解处理器和适配器?
    我们在项目中一般会在 springmvc.xml 中通过开启 <mvc:annotation-
    driven>来实现注解处理器和适配器的开启
    
    4、如何解决 get 和 post 乱码问题?
    
    解决 post 请求乱码:我们可以在 web.xml 里边配置一个 
    CharacterEncodingFilter 过滤器。 设置为 utf-8. 
    解决 get 请求的乱码:有两种方法。对于 get 请求中文参数出现乱码解决方法
    有两个:
    a、. 修改 tomcat 配置文件添加编码与工程编码一致。
    b、. 另 外 一 种 方 法 对 参 数 进 行 重 新 编 码 String userName = New 
    String(Request.getParameter(“userName”).getBytes(“ISO8859-1”), “utf-8”);
    

    Spring

    1、谈谈你对 Spring 的理解
    Spring是一个基于IOC和AOP的结构J2EE系统的框架
    IOC 反转控制 是Spring的基础,他帮我们创建对象
    DI 依赖注入会帮我们在Bean中,自动注入属性
    AOP是面向切面编程,分为核心业务功能(增删改查+注册登录)和周边功能(性能统计,日志,事务管理)
    
    2、Spring 中的设计模式?
    单例模式
    模板方式模式
    前端控制器模式
    依赖注入
    工厂模式
    
    3、Spring 的常用注解
    @Required:该注解应用于设值方法
    @Autowired:该注解应用于有值设值方法
    
    4、简单介绍一下 Spring bean 的生命周期?
        bean 定义:在配置文件里面用<bean></bean>来进行定义。
        bean 初始化:有两种方式初始化:
          a、在配置文件中通过指定 init-method 属性来完成
          b、实现 org.springframwork.beans.factory.InitializingBean 接口
    bean 调用:有三种方式可以得到 bean 实例,并进行调用
    bean 销毁:销毁有两种方式
          a、使用配置文件指定的 destroy-method 属性
          b、实现 org.springframwork.bean.factory.DisposeableBean 接口
    
    5、请描述一下 Spring 的事务
    编程式事务与声明式事务的区别:
          a)编程式事务是自己写事务处理的类,然后调用
          b)声明式事务是在配置文件中配置,一般搭配在框架里面使用!
    
    6、BeanFactory 常用的实现类有哪些?
    常用的 BeanFactory 实现有 DefaultListableBeanFactory 、 XmlBeanFactory 、 ApplicationContext 等。
    
    

    Mybatis

    1、Mybatis 中#和$的区别?
    
    #相当于对数据 加上 双引号,$相当于直接显示数据
    a. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是
    111,那么解析成 sql 时的值为 order by "111", 如果传入的值是 id,则解析成的 sql 为 order by "id".
    b. $将传入的数据直接显示生成在 sql 中。如:order by $user_id$,如果传入的值是 111,那么解析成 sql 时的值为
    order by user_id, 如果传入的值是 id,则解析成的 sql 为 order by id
    c. #方式能够很大程度防止 sql 注入。
    d.$方式无法防止 Sql 注入。
    e.$方式一般用于传入数据库对象,例如传入表名.
    f.一般能用#的就别用$
    
    2、Mybatis 的编程步骤是什么样的?
    
    创建 SqlSessionFactory
    a、通过 SqlSessionFactory 创建 SqlSession
    b、通过 sqlsession 执行数据库操作
    c、调用 session.commit()提交事务
    d、调用 session.close()关闭会话
    

    相关文章

      网友评论

          本文标题:置顶-SSM题库

          本文链接:https://www.haomeiwen.com/subject/footphtx.html