SpringMVC
苍鹰蛟龙
这个作者很懒,什么都没留下…
展开
-
SpringMVC的Hello World
一、导入jar包创建好一个web工程后,首先在lib下加入以下几个包:– commons-logging-1.1.3.jar– spring-aop-4.0.0.RELEASE.jar– spring-beans-4.0.0.RELEASE.jar– spring-context-4.0.0.RELEASE.jar– spring-core-4.0.0.RELEASE.jar– sprin原创 2017-11-11 18:47:57 · 211 阅读 · 0 评论 -
12.1、拦截器——HelloWorld
Spring MVC也可以使用拦截器对请求进行拦截处理,用户 可以自定义拦截器来实现特定的功能,自定义的拦截器必 须实现HandlerInterceptor接口。接口中有以下三个方法:– preHandle():这个方法在业务处理器处理请求之前被调用,在该 方法中对用户请求 request 进行处理。如果程序员决定该拦截器对 请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去 进行原创 2017-11-15 22:13:11 · 207 阅读 · 0 评论 -
11、视图的转发forward(forward)和重定向(redirect)
一般情况下,控制器返回的字符串会被视图解析器进行解析成视图。如果返回的字符串中带 forward: 或 redirect: 前缀 时,SpringMVC 会对他们进行特殊处理:将 forward: 和 redirect: 当成指示符,其后的字符串作为 URL 来处理。 – redirect:success.jsp:会完成一个到 success.jsp 的重定向的操作 – forward:su原创 2017-11-13 22:13:48 · 1290 阅读 · 0 评论 -
10、自定义视图
背景:在web工程实际应用的时候,有时候不需要提前创建好jsp视图,也不知道提前创建什么样的视图,在web运行的时候,根据实际需要动态的创建自定义视图。示例如下:一、创建视图类 首先创建一个视图类,用来创建要显示的视图。@Componentpublic class HelloView implements View{ /* * 获得视图的类型 * @see org.sp原创 2017-11-13 21:49:16 · 281 阅读 · 0 评论 -
14、spring和spring mvc整合
虽然spring 框架包含了spring mvc的框架,可以在一个xml文件中进行配置,但在实际工程应用中往往是分开的,在一个工程中既配置spring的配置文件,又配置spring mvc的配置文件会发生什么事情呢?以示例演示HelloWorld:工程中创建了controller层和service层,发送一个请求,映射到controller进行处理 1、web.xml配置<?xml version原创 2017-11-18 18:06:08 · 253 阅读 · 0 评论 -
13.4、异常处理——SimpleMappingExceptionResolver
如果希望对所有的异常进行统一的处理,比如当指定的异常发生时,把它映射到要显示的错误的网页中,此时用SimpleMappingExceptionResolver进行解析。DispatcherServlet中没有实现SimpleMappingExceptionResolver的Bean,所有需要在spring的配置文件中进行配置。示例如下: 1、web.xml和spring的配置文件 web.xm原创 2017-11-17 23:40:19 · 3707 阅读 · 0 评论 -
13.3、异常处理——DefaultHandlerExceptionResolver
当程序发生异常时,DefaultHandlerExceptionResolver异常解析器默认可以解析指定的异常,见下面的源码,默认可以解析HttpRequestMethodNotSupportedException、HttpMediaTypeNotSupportedException等异常类,当有这些类的异常发生时,默认交给DefaultHandlerExceptionResolver异常解析器进原创 2017-11-17 22:57:06 · 19812 阅读 · 0 评论 -
13.2、异常处理——ResponseStatusExceptionResolver和@ResponseStatus
当程序发生异常时,ResponseStatusExceptionResolver异常解释器用来解析@ResponseStatus标注的异常类,并把异常的状态码返回给客户端。DispatcherServlet默认装配了ResponseStatusExceptionResolver 的Bean*示例如下:*1、web.xml和spring的配置文件 web.xml<?xml version="1.0"原创 2017-11-17 22:17:27 · 3286 阅读 · 0 评论 -
13.1、异常处理——HandlerExceptionResolver 和@ExceptionHandler
Spring MVC通过HandlerExceptionResolver处理程序的异常,包括Handler的映射、数据绑定以及目标方法的执行。HandlerExceptionResolver时一个接口,该接口的实现类都有处理异常的功能。HandlerExceptionResolver是该接口应用广泛的一个实现类,并且DispatcherServlet默认装配了HandlerExceptionReso原创 2017-11-17 21:12:27 · 5327 阅读 · 0 评论 -
8、mvc:view-controller标签
使用背景:前面示例我们每次发送一个请求访问目标页面时,都是通过控制器(controller),有时候我们发送的请求不想经过controller层,直接访问目标页面,此时可以在spring mvc的配置文件中配置mvc:view-controller标签。示例: 假设我们的工程名称为SpringMVC2,我们想直接访问/WEB-INF/views/目录下的success.jsp视图,在spring原创 2017-11-13 20:26:24 · 440 阅读 · 0 评论 -
5、ModelAndView——处理模型数据
当控制器方法截获请求后,开始处理业务,业务方法返回的数据需要放在回显得视图上,通过ModelAndView类可以实现把业务数据放在请求域中,在发送请求的视图上就可以通过请求域获取业务数据,最后控制器返回这个带有业务数据的视图就可以了。下面示例:首先进行web.xml和spring的xml配置,配置方法同SpringMVC之注解RequestMapping用法一节中一样。一、创建请求创建index.j原创 2017-11-12 18:48:39 · 358 阅读 · 0 评论 -
6、Map——处理模型数据
同上一节ModelAndView用法类似,在控制器中处理业务逻辑时,可以用Map 把要显示的数据放入请求域中,然后从请求域中获取业务数据。* 用法示例*首先进行web.xml和spring的xml配置,配置方法同SpringMVC之注解RequestMapping用法一节中一样。一、创建请求创建index.jsp,用于发送请求,内容为:<a href="springMVC/testMap">Test原创 2017-11-12 20:26:56 · 366 阅读 · 0 评论 -
7、@SessionAttributes——模型数据
上一节只是把数据模型放在了请求域中,只能在两个页面之间的请求可用,但在多个页面之间请求就得不到数据。@SessionAttributes可以保证多个请求共用一个模型数据。@SessionAttributes注解中有两个属性:一个是value,用于指定哪个对象要放在session域中;type用于指定哪种类型的对象放在session域中,两个参数可以同时配合使用。例如: –@SessionAttri原创 2017-11-12 21:11:22 · 553 阅读 · 0 评论 -
4、使用POJO对象绑定请求参数值
当发送过来一个JSP请求时,spring mvc会按请求中的参数名和POJO对象属性中的名进行自动匹配,通过POJO中的set方法进行映射,自动为POJO对象的属性填充值。在创建POJO类时,可以创建一个无参构造器,但是不需要创建一个有参构造器,因为给POJO对象的属性赋值是通过映射,而不再是有参构造器,一旦有有参构造器的话,反而会出错,spring不知道如何去初始化。POJO中支持级联属性。下面通原创 2017-11-12 17:50:16 · 1168 阅读 · 0 评论 -
2、注解@PathVariable用法——映射URL绑定的占位符
带占位符的 URL 是 Spring3.0 新增的功能,例如“/springmvc/{id}”中的id就是占位符,id可以表示任何值。为了取到占位符的值,通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中。示例如下:首先进行web.xml和spring的xml配置,配置方法与SpringMVC之注解RequestMapping用法一节中的配置相同。一、创建in原创 2017-11-11 22:05:19 · 5032 阅读 · 0 评论 -
1.2、映射请求注解@RequestMapping的请求参数和请求头用法
@RequestMapping 除了可以使用请求 URL 映射请还可以使用请求方法、请求参数及请求头映射请求。 @RequestMapping 的 value、method、params 及 heads分别表示请求 URL、请求方法、请求参数及请求头的映射条件,他们之间是与的关系,联合使用多个条件可让请求映射更加精确化。 params 和 headers支持简单的表达式: – param1:原创 2017-11-11 21:40:00 · 8640 阅读 · 0 评论 -
1.1、映射请求注解RequestMapping用法
Spring MVC通过注解@RequestMapping为控制器(处理信息的java类)指定可以处理哪些URL请求。该注解可以用在类和方法中。过程:当一个jsp发送一个请求时,由web.xml中配置的DispatcherServlet 截获该请求,然后web.xml去寻找配置的spring的xml位置,spring去查找配置的component-scan扫描包范围,如果在扫描包中类下找到处理请求的原创 2017-11-11 19:10:19 · 1331 阅读 · 0 评论 -
3、注解@RequestParam——取请求参数
在出路请求时,经常有请求参数传入,使用 @RequestParam 可以把请求参数传递给控制器方法。示例如下:首先进行web.xml和spring的xml配置,配置方法同SpringMVC之注解RequestMapping用法一节中一样。一、创建index.jsp创建一个用来发送请求的测试jsp<a href="springMVC/testRequestParam?username=lzj&age=原创 2017-11-11 22:47:16 · 9588 阅读 · 0 评论 -
12.2、拦截器配置和执行顺序
拦截器已在上一节介绍,下面直接示例演示。 一、web.xml配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocat原创 2017-11-15 23:28:48 · 832 阅读 · 0 评论