栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面试题总结(Web后台)<二>

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试题总结(Web后台)<二>

目录

Spring MVC

Spring MVC流程

工作流程:

 开发流程

1. 导入pom依赖

2. 在WEB-INF下添加springmvc-servlet.xml(spring-mvc.xml)

3. web.xml中添加核心类配置

4. controller层,正常开发即可

常用的注解

springmvc怎么返回数据

Mybatis

什么是 MyBatis

关联关系的配置

常用标签

if标签

for标签

trim标签

Mybatis 的一级、二级缓存

#{}和${}的区别是什么


Spring MVC

Spring MVC流程

工作流程:

    ①DispatcherServlet:接受到浏览器端发送的所有请求
    ②HandlerMapper处理器映射器:找到@requestMapping对应值
    ③HandlerAdapter处理器适配器:适配对应的方法调用执行
    ④modelAndView模型视图对象:方法的返回值
    ⑤viewResolver解析模型视图对象,得到view,返回给浏览器用户展示;

 开发流程

1. 导入pom依赖
      
        org.springframework
        spring-webmvc
        ${spring.version}
      

      
      
      
      
          jstl
          jstl
          1.2
      
      
          taglibs
          standard
          1.1.2
      

2. 在WEB-INF下添加springmvc-servlet.xml(spring-mvc.xml)


    
    
    
    
        
        
    

    
	
    
    

    
    
        
        
        
        
    

    
    
    
    


    
    
        
            
                i18n
            
        
    

    
    

    
    
        
    

    
        
        
        
        
        
        
    



3. web.xml中添加核心类配置
  
  
    SpringMVC
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      /WEB-INF/spring-mvc.xml
    
    1
    
    true
  
  
    SpringMVC
    /
  

4. controller层,正常开发即可

要通过@controller标记当前类被spring所管理
        写方法:@requestMapping("/list")
        方法会有返回值:“bookList” --> /bookList.jsp

                转发:"forward:/book/list"

                重定向:"redirect:/book/list"

常用的注解

@Controller:用于标识处理器类

@RequestMapping:请求映射路径(一般配合 @Controller 使用)

@getMapping :此方法只能get请求访问

@putMapping :和PostMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping

@deleteMapping:删除URL映射

@postMapping :此方法只能post请求访问

@responseBody:注解实现将 conreoller 方法返回对象转化为 json 对象响应给客户

@requestBody:注解实现接收 http 请求的 json 数据,将 json 转换为 java 对象

@pathvariable:映射 URL 绑定的占位符,可以将 URL 的路径当作参数传递过来

@requestParam:是来传递参数的,用于将请求参数映射到功能处理方法的参数

springmvc怎么返回数据

转发:在返回值前面加"forward:" ,譬如"forword:/list"、"forward:user.do?name=method4"

重定向:在返回值前面加"redirect:",譬如"redirect:/list"、"redirect:http://www.baidu.com"

Mybatis

什么是 MyBatis

MyBatis是一款优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程

关联关系的配置

一对一:associate        javatype


  
  
  
  
  
    
    
  

一对多:Collection        oftype


  
  
  
    
    
    
    
  

常用标签

if标签

    book_name = #{bookName,jdbcType=VARCHAR}

    


     price ]]>

用于解决特殊字符转义的,没有CDATA的话,> < & 等会被当成HTML标签,而不是sql语句的组成部分

for标签

trim标签

trim标签的作用是可以在trim标签内容前面加上prefix定义的前缀,也可以在其后加上suffix定义的后缀; prefixOverrides和suffixOverrides可以把包含内容的首部或者尾部某些内容覆盖,也就是忽略掉

  
    insert into t_book
    
         book_id,   
       book_name, 
          price,     
    
    
      
        #{bookId,jdbcType=INTEGER},
      
      
        #{bookName,jdbcType=VARCHAR},
      
      
        #{price,jdbcType=REAL},
      
    
  

Mybatis 的一级、二级缓存

二级缓存:Mapper级别的缓存,默认关闭
一级缓存:session级别的缓存,默认就是开启的;

对于缓存数据更新机制,当某一个作用域(一级缓存Session/二级缓存 Namespaces)的进行了 C/U/D 操作后,默认该作用域下所有 select 中的缓存将被 clear 掉并重新更新,如果开启了二级缓存,则只根据配置判断是否刷新

#{}和${}的区别是什么

#{}是预编译处理,${}是字符串替换。

#{...} 传递参数会自带引号

${...} 不会自带引号,所有存在sql注入的风险

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号