springmvc注解

idea搭建springmvc(maven版)

好久不见. 提交于 2020-02-02 21:32:47
一、创建maven项目 (1)选择 file > new > project   (2)填写对应信息,一路点击next     配置自己本地的maven,继续next     命名项目名(随意写,但要易懂),点击 finish   (3)自动加载maven     配置web的xml     等待maven加载完毕,见下图说明maven创建成功 二、搭建编码结构    maven配置完毕后,需搭建项目结构,为编码做准备,下面简单给一些文件夹结构供参考,当然不一定非要以下面方式搭建。   (1) 既然我们使用的是springMVC,就需要将 springmvc 的相关配置加载到项目中去      选中项目,右键选中 Add Framework Support      勾选中 springMVC ,勾选Download 点击OK      现在,idea正在加载springMVC的相关jar包      加载完毕后,左侧的项目结构列表中会多出来一个lib的文件夹,我们可以将其删除(因为我们有maven的pom文件导入jar包)   (2)为编码搭建项目结构列表     首先我们先看下目前的项目结构情况。     ok,接下来在此基础上开始添加文件夹,各个功能的文件夹以及编码习惯因人而异,下面给出一些参考。     <1>. 在main目录下创建 java 文件夹

SpringMVC RESTful

不羁的心 提交于 2020-02-02 08:37:14
RESTful是web应用的一种设计风格、开发方式。 以根据product_id查询产品信息为例。 原来的写法 @org.springframework.stereotype.Controller public class ProductController{ @RequestMapping("/queryProduct") public ModelAndView queryStudent(int product_id) { ModelAndView mav = new ModelAndView("product_info"); //此处省略调用dao层获取产品信息,得到Product类的实例product //将数据传给视图,展示产品信息 mav.addObject("product", product); return mav; } } 请求地址: http://.../queryProduct?product_id=1 RESTful风格的写法 @org.springframework.stereotype.Controller public class ProductController{ @RequestMapping("/product/{product_id}") public ModelAndView queryStudent(@PathVariable int

SpringMVC基础知识整理

£可爱£侵袭症+ 提交于 2020-02-01 15:58:32
目录 三层架构 MVC模型 SpringMVC概述 springmvc是什么 springmvc和structs2比较 springmvc 环境搭建 spring的配置文件头部 入门程序编写 springmvc工作流程(原理) 解决post请求中文乱码问题(使用过滤器filter) 请求参数绑定 自定义类型转换器 获取原生servlet的API 常见注解 @RequestMapping @RequestParam @RequestBody @PathVariable @RequestHeader(用的较少) @CookieValue @ModelAttribute @SessionAttributes restful编程风格 响应请求的四种方式 响应之后返回值是string类型 响应之后返回值是void类型 响应之后返回值是ModelAndVies类型 使用forward和redirect关键字进行页面跳转 发送ajax请求并响应(数据传输以json格式进行传输) 文件上传 传统方式 springmvc文件上传 跨服务器实现文件上传 springmvc的异常处理 异常处理思路 springmvc异常处理示例小代码 springmvc拦截器 springmvc拦截器入门小程序 三层架构 我们的开发一般有两种形式:C/S架构,B/S架构,在JavaEE开发中,几乎都是基于B

springmvc自定义转换器

China☆狼群 提交于 2020-01-31 02:40:50
日期传值的时候出现错误,自定义一个转换器来实现 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; //实现 converter接口 public class StringToDateConverter implements Converter<String, Date> { /** * 传过来的值 * @param s * @return */ @Override public Date convert(String s) { if(s == null){ throw new RuntimeException("请您传入参数"); } DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //把字符串转日期 try { return df.parse(s); } catch (ParseException e) { throw new RuntimeException("数据转行错误"); } } } 在springmvc的xml里配置参数 <!--自定义转换器--> <bean id="conversionServiceFactoryBean"

了解spring MVC

百般思念 提交于 2020-01-30 23:06:29
1 springMVC springMVC基于java实现的MVC的设计模式,通过把model,view,controller分离,将web层进行解耦,将复杂的逻辑清晰化,简化代码开发,方便开发人员之间的配合. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rjgXi86v-1573720869970)(image/springmvc流程.jpg)] 用户向服务器发开请求,请求被SpringMVC 前端控制器 DispatcherServlet 捕获; DispatcherServlet收到请求调用HandlerMapping处理器映射器()。 DispatcherServlet 对请求 URL 进行解析,得到请求资源标识符(URI)。然后根据该 URI,调用 HandlerMapping 获得该 Handler 配置的所有相关的对象(包括 Handler 对象以及 Handler 对象对应 的拦截 器),最后以 HandlerExecutionChain 对象的形式返回; DispatcherServlet 根据获得的 Handler,选择一个合弁的 HandlerAdapter;(附注:如果成功获得 HandlerAdapter 后,此时将开始执行拦截器的 preHandler(true或者false) 方法) 提取 Request 中的模型数据

SpringBoot对SpringMVC的支持

依然范特西╮ 提交于 2020-01-30 12:34:11
7.1.1. Spring MVC Auto-configuration Spring Boot provides auto-configuration for Spring MVC that works well with most applications. The auto-configuration adds the following features on top of Spring’s defaults: Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. Support for serving static resources, including support for WebJars (covered later in this document )). Automatic registration of Converter , GenericConverter , and Formatter beans. Support for HttpMessageConverters (covered later in this document ). Automatic registration of MessageCodesResolver (covered later

【Spring】SpringMVC之异常处理

£可爱£侵袭症+ 提交于 2020-01-29 13:47:05
java中的异常分为两类,一种是运行时异常,一种是非运行时异常。在JavaSE中,运行时异常都是通过try{}catch{}捕获的,这种只能捕获显示的异常,通常项目上抛出的异常都是不可预见。那么我们能够有什么方法能够解决这种问题吗?当然有,SpringMVC中的异常处理机制就很好的做到了这一点。 SpringMVC中的异常处理一共有3种方式 (1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver; (2)实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器; (3)使用@ExceptionHandler注解实现异常处理。 (1)使用Spring MVC提供的SimpleMappingExceptionResolver 直接将 SimpleMappingExceptionResolver 类配置到SpringMVC配置文件中 <!-- 只是对全局的Controller有效果 所有的被RequestMapping注解所添加的方法中的异常才有效果 --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name=

SpringMVC常用注解及其介绍和事务四大特性

谁说我不能喝 提交于 2020-01-29 07:25:16
SpringMVC常用注解及其介绍 前言:在介绍SpringMVC常用注解之前,有兴趣的可以先了解一下SpringMVC的工作流程。SpringMVC工作流程详解 OK,接下来进入本次主题。 在实际项目中,我们最常用的几个注解,包括 @Controller、@RestController、 @RequestMapping、@PathVariable、@RequestParam 以及 @RequestBody,此次主要介绍下这几个注解常用的使用方式和特点。 1.@Controller 在SpringMVC中,controller主要负责处理前端控制器(DispatcherServlet )发过来的请求,经过业务逻辑层处理之后封装层一个model,并将其返回给view进行展示。@controller注解通常用于类上,如果结合Thymeleaf模板使用的话,会返回一个页面。如果是前后端分离的项目,则使用@RestController,表明返回的是json格式数据。 2.@RestController 在介绍RestController之前,我们先点进去看一下: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Controller @ResponseBody public

SpringMVC @RequestBody @RequestParam @PathVariable 等参数绑定注解详解

情到浓时终转凉″ 提交于 2020-01-29 00:55:55
request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: http://blog.csdn.net/walkerjong/article/details/7946109 (关于更多参数绑定常用的注解) @PathVariable $.ajax({ url: ctx + '/management/cart/delete/'+id, async: false, cache: false, type: "POST", success: function (data) { }, error: function (xhr) { } }); @ResponseBody@RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) public int delete(@PathVariable int id){ return 0;}//若方法参数名称和需要绑定的uri template中变量名称不一致,需要在@PathVariable("name")指定uri template中的名称 public int delete(@PathVariable("id") int rsId){ return 0;} @RequestParam A) 常用来处理简单类型的绑定,通过Request

SpringMvc

孤街醉人 提交于 2020-01-28 23:44:09
三层结构介绍 表现层 : * 也就是我们常说的web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http 协议请求web 层,web 需要接收 http 请求,完成 http 响应。 * 表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。 * 表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。 * 表现层的设计一般都使用 MVC 模型。(MVC 是表现层的设计模型,和其他层没有关系) 业务层 : * 也就是我们常说的 service 层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web 层依赖业务层,但是业务层不依赖 web 层。 * 业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的, 事务应该放到业务层来控制) 持久层 : * 也就是我们是常说的 dao 层。负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库中。通俗的讲,持久层就是和数据库交互,对数据库表进行曾删改查的。 SpringMvc是什么? SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork