- 浏览: 937462 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (229)
- spring (20)
- myBatis (1)
- javase (31)
- 设计模式 (1)
- jQuery EasyUI (4)
- 编程工具 (8)
- Hibernate (3)
- tomcat (3)
- js (27)
- Jboss (2)
- dom4j (1)
- 操作系统 (5)
- 数据库 (26)
- springmvc (6)
- 程序人生 (5)
- JDBC (1)
- android (6)
- groovy (2)
- memcached (11)
- Nginx (8)
- maven (7)
- javaEE (13)
- jquery (3)
- linux (4)
- 单元测试 (6)
- 算法 (6)
- resin 服务器 (5)
- 缓存 (8)
- slf4j日志 (1)
- resin 服务器;log4j (2)
- 性能调休 (25)
- 网络编程 (10)
- 多线程 (9)
- json (1)
最新评论
-
lliiqiang:
主要原因还是因为html格式太复杂多变了。很难过滤所有的危险代 ...
java 防止xss攻击 -
u011670948:
Mustache模板遍历输出数据 -
u011670948:
Mustache模板遍历输出数据 -
masuweng:
spring @Autowire 的注解默认是按类型注入bean -
masuweng:
spring @Autowire 的注解默认是按类型注入bean
转:http://flyer2010.iteye.com/blog/1294400 有修改
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。下面将对具体的一一进行说明:
ModelAndView
通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类,
具体请看类。
Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。
Map
在jsp页面中可直通过${key1}获得到值, map.put()相当于request.setAttribute方法。
写例子时发现,key值包括 - . 时会有问题.
View 可以返回pdf excel等,暂时没详细了解。
String 指定返回的视图页面名称,结合设置的返回地址路径加上页面名称后缀即可访问到。
注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面。
例如:
上面的结果会将文本"Hello World "直接写到http响应流。
对应的逻辑视图名为“center”,URL= prefix前缀+视图名称 +suffix后缀组成。
void 如果返回值为空,则响应的视图页面对应为访问地址
此例对应的逻辑视图名为"welcome"。
ModelAndView
- @RequestMapping ( "/show1" )
- public ModelAndView show1(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
- ModelAndView mav = new ModelAndView( "/demo2/show" );
- mav.addObject("account" , "account -1" );
- return mav;
- }
通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类,
具体请看类。
Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。
Map
- @RequestMapping ( "/demo2/show" )
- public Map<String, String> getMap() {
- Map<String, String> map = new HashMap<String, String>();
- map.put("key1" , "value-1" );
- map.put("key2" , "value-2" );
- return map;
- }
在jsp页面中可直通过${key1}获得到值, map.put()相当于request.setAttribute方法。
写例子时发现,key值包括 - . 时会有问题.
View 可以返回pdf excel等,暂时没详细了解。
String 指定返回的视图页面名称,结合设置的返回地址路径加上页面名称后缀即可访问到。
注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面。
例如:
- @RequestMapping (value = "/something" , method = RequestMethod.GET)
- @ResponseBody
- public String helloWorld() {
- return "Hello World" ;
- }
上面的结果会将文本"Hello World "直接写到http响应流。
对应的逻辑视图名为“center”,URL= prefix前缀+视图名称 +suffix后缀组成。
void 如果返回值为空,则响应的视图页面对应为访问地址
此例对应的逻辑视图名为"welcome"。
注意:如果在welcomeHandler的方法列表里加上HttpServletResponse response这个参数的话,就不会返回默认的
welcome.jsp视图.
小结:
1.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。
2.使用void,map,Model 时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。
3.使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。
小结:
1.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。
2.使用void,map,Model 时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。
3.使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。
发表评论
-
spring boot 2.0.1版本,多数据源支持
2018-05-12 09:30 1637有时候我们需要在程序中加载多个数据源,用spring jp ... -
eureka的Instances status列表显示ip
2017-09-16 14:42 16236spring cloud 版本 Dalston.R ... -
[转]解惑 spring 嵌套事务
2017-02-08 19:36 809转:http://www.iteye.com/topic/35 ... -
spring autowire="byName" 注入属性
2016-01-30 12:03 2468byName 根据属性名自动装配。此选项将检查容器并根据名 ... -
springJdbc 插入数据返回主键
2015-11-24 16:22 973public long addMsg(final SysMe ... -
RequestMappingHandlerMapping的用法
2014-11-26 14:43 30906有时候,想查看应用请求对应的ur和方法l情况,可以用Req ... -
Spring MVC HandlerExceptionResolver自定义处理异常
2014-10-29 11:27 3809用spring的接口HandlerExceptionReso ... -
spring @Autowire 的注解默认是按类型注入bean
2014-04-24 14:30 10102spring @Autowire 的注解默认是按类型注入b ... -
spring结合mysql事务注解@Transactional不起作用的问题
2014-04-23 18:04 24337最近遇到的一个比较诡异的问题,貌似各种配置都正确了,事务不 ... -
SpringMVC中使用Interceptor拦截器[转]
2014-04-18 15:30 2243转:http://haohaoxuexi.iteye.com ... -
spring抛异常之后的事务回滚
2014-03-28 15:12 1882spring 的声明式事务注 ... -
Spring MVC防御CSRF、XSS和SQL注入攻击[转]
2014-02-13 13:53 1724转;http://www.cnblogs.com/Mainz ... -
maven单元测试报java.lang.IllegalStateException: Failed to load ApplicationContext
2013-12-20 15:35 104851报这个异常java.lang.IllegalState ... -
spring 中运用单元测试
2013-12-17 11:47 1020直接上代码 package cn.pconline.bb ... -
spring 用静态工厂方法初始化bean的注意事项
2013-12-16 17:48 3977如下 <bean id="sockIOP ... -
spring3.0定时器
2012-09-20 14:27 3807from《Spring in Action3》 基于注解的s ... -
Java EE6中的新框架 Bean的验证
2012-09-14 17:06 4134转:http://xiangtui.iteye.com/blo ... -
Spring中ApplicationContext加载机制
2012-09-13 20:41 2147转:http://blog.csdn.net/edis ... -
创建bean失败会造成创建sessionFactory报空指针异常
2012-09-12 18:05 7Caused by: org.springframework. ... -
【转】spring配置datasource三种方式
2011-12-31 17:42 14281,使用org.springframework.jdbc.da ...
相关推荐
关于拦截器,在Spring MVC中,拦截器是一种动态拦截处理请求的方法,可以用来进行请求预处理和后处理。拦截器的实现通常需要实现HandlerInterceptor接口,并通过实现其三个方法:preHandle、postHandle和...
在IT行业中,Spring、Spring MVC和MyBatis是三大非常重要的Java Web开发框架,它们各自在应用程序的不同层次上发挥着关键作用。这个"Spring+Spring MVC+MyBatis之零配置之路源代码"项目旨在展示如何在不使用XML配置...
本文将详细解析Spring MVC Controller支持的多种返回值类型,以及它们各自的用法。 1. ModelAndView `ModelAndView`是Spring MVC提供的一种组合模型数据和视图的类。它允许开发者同时指定视图名称和模型数据。例如...
15. Spring MVC 支持的返回值类型:ModelAndView 返回值类型可以添加 Model 数据,并指定视图,String 返回值类型可以携带数据并跳转视图,void 返回类型主要在异步请求时使用,它只返回数据,而不会跳转视图。...
在Spring MVC中,URL参数传递是Web应用程序中常见的数据交互方式之一。本文将深入讲解如何在Spring MVC框架中有效地处理URL参数。 首先,`@Controller`注解用于标记一个类作为Spring MVC的控制器。当应用启动时,...
- 返回值可选类型多样,可以是ModelAndView、String、void、自定义对象等,Spring MVC会根据返回值类型自动进行视图渲染或数据处理。 7. **@Cacheable**和**@CacheFlush**:这两个注解用于缓存管理。`@Cacheable`...
1. **模块化**:Spring 3.0引入了模块化设计,将框架拆分为多个可选模块,便于按需引入,降低了应用的体积和启动时间。 2. **注解支持增强**:Spring 3.0大大增强了对Java注解的支持,如`@Autowired`用于自动装配...
在Spring MVC框架中,Controller是核心组件之一,它负责接收客户端(如APP)的请求,并进行处理后返回响应。本文将深入探讨Spring MVC Controller的工作原理、如何创建与配置,以及如何处理来自APP客户端的请求。 1...
6. `@RequestParam(value="paramName", required=false)`:`required=false`表示参数可选,如果请求中没有此参数,Spring MVC不会抛出异常。 7. `@ModelAttribute`:主要用于将请求参数绑定到Java对象,通常与表单...
jwx是开源的java公众号开发MVC框架,基于spring配置文件和微信消息或事件注解,通过微信上下文处理一个或多个微信公众号服务请求。目的主要有两个,其一生封装微信请求xml消息为java实体对象,将返回对象转换为xml...
`WebMvcConfigurer`接口定义了多个可选的方法,这些方法可以被实现类覆盖来定制Spring MVC的行为。接下来,我们将详细介绍这些方法的功能及用法。 #### 三、方法解析 1. **`configurePathMatch`**: - **功能**:...
- JWT(JSON Web Tokens):可选的身份验证机制,用于生成安全的令牌。 8. **测试**: - Spring Boot测试支持:@SpringBootTest、@WebMvcTest等注解用于不同层次的测试。 - MockMVC:模拟MVC层,进行单元测试。 ...
它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作. 其大概开发过程如下: 1.编写业务代码,该...
Hibernate还提供了缓存机制,包括一级缓存(SessionFactory级别的缓存,每个Session操作的对象会缓存在此)和二级缓存(可选,用于跨Session共享数据,可以使用第三方缓存实现如EhCache)。 【Hibernate优化策略】 ...
Struts2提供了丰富的标签库,支持AJAX,且与各种第三方框架(如Spring和Hibernate)有良好的兼容性。它通过拦截器机制处理请求,使得业务逻辑和Web层分离,易于维护和扩展。 #### Struts2中实现动态Action 动态...
`<#include filename>`引入指定的FTL文件,可选参数`options`用于设置编码和解析方式。例如: ```html <h1>Some text<#include "common/copyright.ftl" parse=false encoding="UTF-8"></h1> ``` 4. **其他常用...
这个注解支持一个可选的属性`value`,该属性类型为`String`,用来指定绑定到Model对象上的属性名称。如果未指定,则默认使用方法名作为属性名。 #### 二、`@ModelAttribute`的执行时机 一个关键点需要注意的是,当...
- **零配置**:默认设置符合最佳实践,提供可选的配置选项。 - **无依赖**:除了Servlet外,不依赖其他类库,降低依赖风险。 - **多层次拦截器**:Action、Controller和Global级别,增强控制流。 - **多样化...
3. **设置请求头**(可选):通过`setRequestHeader()`方法,可以设置请求头信息,如Content-Type。 4. **发送请求**:使用`send()`方法发送请求,GET请求通常不需传递参数,POST请求则需将数据作为参数传入。 5. **...