springmvc注解

springmvc和mybatis面试题

自古美人都是妖i 提交于 2019-12-09 02:00:41
Spring MVC Framework有这样一些特点: 1。它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件.并且和Spring提供的其他基础结构紧密集成. 2。不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 3。可以任意使用各种视图技术,而不仅仅局限于JSP 4。支持各种请求资源的映射策略 5。它应是易于扩展的 2) SpringMVC的工作流程? 1. 用户发送请求至前端控制器DispatcherServlet 2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器 5. 执行处理器(Controller,也叫后端控制器)。 6. Controller执行完成返回ModelAndView 7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet 8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器

SpringMVC面试题

ⅰ亾dé卋堺 提交于 2019-12-09 01:58:46
一、springMVC工作原理: 1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 6.视图对象负责渲染返回给客户端。 二、 为什么要用 spring 三、 介绍一下 Spring 的事务管理 事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。 这样可以防止出现脏数据,防止数据库数据出现问题。 开发中为了避免这种情况一般都会进行事务管理。Spring中也有自己的事务管理机制,一般是使用TransactionMananger进行管理,可以通过Spring的注入来完成此功能。 sping的事务管理的两种方式: 1、编程式(粒度是到代码块级别); 编程式主要使用transactionTemplate

Mybatis+Spring+SpringMVC面试题.1

允我心安 提交于 2019-12-09 01:58:12
f-sm-1. 讲下SpringMvc和Struts1,Struts2的比较的优势 性能上 Struts1>SpringMvc>Struts2 开发速度上 SpringMvc 和 Struts2 差不多 , 比 Struts1 要高 f-sm-2. 讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么 SpringMvc 的是 DispatchServlet,Struts1 的是 ActionServlet,Struts2 的是 StrutsPrepareAndExecuteFilter f-sm-3. SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决 是单例模式 , 所以在多线程访问的时候有线程安全问题 , 不要用同步 , 会影响性能的 , 解决方案是在控制器里面不能写字段 f-sm-4. SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代 一般用 @Conntroller 注解 , 表示是表现层 , 不能用用别的注解代替 . f-sm-5. @RequestMapping注解用在类上面有什么作用 用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 f-sm-6. 怎么样把某个请求映射到特定的方法上面 直接在方法上面加上注解 @RequestMapping, 并且在这个注解里面写上要拦截的路径 f

springmvc常用注解

可紊 提交于 2019-12-09 01:53:11
一直在使用springmvc,今天来总结一下在项目中经常使用到的注解,可以对知识有一个很好的梳理。 1、@Controller 用于标记在一个类上,使用它标记的一个类就是一个SpringMVC Controller对象。DispatcherServlet(前端控制器)会扫描使用了该注解的类的方法。@Controller只是定义了一个控制器类,并不能处理请求(真正处理请求的是@RequestMapping,这个后面会讲到)。 在类上标记@Controller,这时还不能说是一个真正的控制器,这个时候spring还不认识它。我们需要将控制器交给spring管理。有两种管理方式: <!--单一扫描bean--> <bean class="com.tgb.ssm.HelloController"/> <!-- 配置controller扫描 --> <context:component-scan base-package="com.tgb.ssm.controller" /> 查看@Controller注解源码: package org.springframework.stereotype; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang

springMvc常用注解

橙三吉。 提交于 2019-12-09 01:52:09
使用springMvc注解的提前是需要在springMvc的配置文件中加入注解的bean <mvc:annotation-driven /> <!-- 支持spring3.0新的mvc注解 --> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 ,使用ajax请求时用到--> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="cacheSeconds" value="0" /> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> </list> </property> </bean> 1,@Controller 使用Controller注解将对应的java类定义成控制器,用来处理url中的请求,在springMvc的配置文件中加入: <!-- 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --> <context:component-scan

SpringMVC 注解

假如想象 提交于 2019-12-09 01:45:02
@Controller 在 springmvc 2.5 之前通过继承 Controller 接口实现控制器 //接口定义 public interface Controller { ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception; } //实现方式 public Mycontroller implements Controller{ ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception{ //do Something... } } 在 springmvc 2.5 之后利用注解的方式(即 @Controller)实现控制器,实现了彻底解耦。一个类在使用了该注解之后就表明自己是一个控制器。 首先来看 @controller 的注解定义 // 表示作用类或接口上,在运行时有效 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented @Component public @ interface Controller { String

【SpringMVC学习10】SpringMVC对RESTfull的支持

若如初见. 提交于 2019-12-09 01:42:46
   RESTful架构,就是目前流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。RESTful架构对url进行规范,写RESTful格式的url是什么样子的呢?我们一般请求的url是类似这样子的: http://...../xxx.action?id=001&type=aaa    而REST的url风格是什么样子呢?一般它类似于: http://..../xxx/001    所以REST有个很明显的特点:使url变得简洁,将参数通过url传到服务端。springmvc也是支持这种REST风格的url的,我们定义一个controller来测试一下: //查询商品信息,输出json,使用RESTful @RequestMapping ( "/itemsView/{id}" ) public @ResponseBody ItemsCustom itemsView (@ PathVariable ("id") Integer id) throws Exception { ItemsCustom itemsCustom = itemsService.findItemsById(id); return itemsCustom; }    @ResponseBody是用来将itemsCustom转成json的注解,而

springMVC之RESTfull服务、返回JSON数据

我的梦境 提交于 2019-12-09 01:41:46
文章目录 RESTfull服务 第一种方法 第二种方法 补充 返回JSON数据 第一种方法 第二种方法 RESTfull服务和返回JSON数据示例 RESTfull服务的第一种方法和手工转换JSON RESTfull服务的第二种方法和返回JSON数据的第一种方法 RESTfull服务的第二种方法和返回JSON数据的第二种方法 RESTfull服务 我们可以通过以下两种方式提供RESTFull的服务 第一种方法 用@RestController注解替换Controller类上的@Controller注解,这样该类里面所有的RequestMapping方法都会强制输出返回的内容本身给调用方 第二种方法 在需要提供RESTFull的RequestMapping方法上添加@ResonpseBody注解,这样会强制此方法输出返回的内容本身给调用方。 补充 此外,SpringMVC还给我们提供了专用的RESTFull相关注解GetMapping、PostMapping、PutMapping、DeleteMapping、PatchMapping用于简化@RequestMapping注解, 比如@GetMapping注解就相当于@RequestMapping(method=RequestMethod.GET) 返回JSON数据 第一种方法

通俗易懂SpringMVC整体框架理解

空扰寡人 提交于 2019-12-09 01:40:33
最近又重新温习了一下前台SpringMVC框架,能够从整体上对SpringMVC有一个全局的认识。在这里也总结一下,为那些即将学习SpringMVC的亲们,做一个很好的开端吧! 1. SpringMVC整体框架图 学习某一种技术的话,要能够从宏观上把握一下这种技术的大致实现原理,然后才开始刨根问底的学习,这种技术的细节,这样会快也一些。首先从宏观上把控一些知识点之间的联系,学习起来更有连贯性,下面就先从SpringMVC的框架图来整体分析一下。 上图就是SpringMVC整体的框架图,就这么几个部分。下面来着重的分析一下,整个过程中的流转。 1.首先是用户发送请求,比如在浏览器中输入http://localhost:8080/SpringTest/login 2.用户的请求就发送到了DispatcherServlet也就是前端控制器,这个东西是一个Servlet的实现,用来干什么呢?用来接收用户的请求,然后响应结果,相当于一个转发器,它的配置如下 [html] view plain copy print ? < span style = "font-family:Comic Sans MS;font-size:18px;" > <!-- 自此请求已交给Spring Web MVC框架处理,因此我们需要配置Spring的配置文件,默认DispatcherServlet会加载WEB

实际接触springMVC后的简单理解

你。 提交于 2019-12-09 01:39:18
到现在为止已经实习半年(在一个单位实习半年,我都佩服自己),自己的java代码总算写的有点样子,不比以前在学校学习的时候,刚接触springMVC,总是听到各种术语,最多是一些小项目,所以对于mvc的思想理解还是有些懵懂,在实习期间,总算有了实际编程的经历,对于mvc总算有了一个概念,所以就想把自己体会到的几点用一种比较简单易懂的浅显语言写出来,一是加深自己的印象,二也是尝试一下写博客,毕竟这也是一种学习的方法,而且非常有效。 MVC翻译过来就是模型层、视图层、控制器,而在模型和控制器之间,其实还能细分持久层和服务层,如果对应项目结构的话就是 简单笼统的说,model中就是一些实体类(pojo,即没有什么接口继承的最简单的类),比如说学生类,班级类,数据源等;持久层就是操作数据库,增删改查,即dao;服务层包装功能,接收dao返回的信息,并给控制层提供接口,即service;控制层视图层的请求,然后分发、处理再返回数据到视图层,即controller;视图层,顾名思义,就是看到的界面,同时包括css,js,images等。这是把层次对应文件位置的说法。 具体的讲每层的功能,model中封装各种实体类,即学生类,其中学号,姓名等,给其他功能调用,这部分最简单,只要private int id,然后重写set,get方法,还有像equals,hashCode,toString等方法