springmvc

SpringMVC 测试框架 MockMvc 天坑一枚

穿精又带淫゛_ 提交于 2019-12-01 15:31:16
最近使用SpringMvc写一个URL比较复杂的RequestMapping,最后使用MockMvc测试下URL。 出现的问题是根本不存在的URI,居然返回200。使用以下代码测试: @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration({ "classpath:spring/spring-web.xml" }) public class SearchControllerTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setUp() throws Exception { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); } @Test public void testURLMapping() throws Exception { String[] testCase= { "/asdf" // 根本不存在 }; for (String url : testCase) { this.mockMvc.perform

Spring MVC学习路(六)可传入方法的参数

与世无争的帅哥 提交于 2019-12-01 11:56:01
引用 : http://jinnianshilongnian.iteye.com/blog/1698916 在使用方法时 Spring Web MVC框架会自动帮助我们把相应的Servlet请求/响应(Servlet API)作为参数传递过来 在定义方法的时候可以定义很多参数 一、ServletRequest/HttpServletRequest 和 ServletResponse/HttpServletResponse public String requestOrResponse ( ServletRequest servletRequest, HttpServletRequest httpServletRequest, ServletResponse servletResponse, HttpServletResponse httpServletResponse ) 二、 InputStream/OutputStream 和 Reader/Writer public void inputOrOutBody(InputStream requestBodyIn, OutputStream responseBodyOut) throws IOException { responseBodyOut.write("success".getBytes()); }

7.盘点springmvc的常用接口之Converter(下篇)

柔情痞子 提交于 2019-12-01 09:16:15
7.盘点springmvc的常用接口之Converter(下篇)### 前两章介绍了 Converter 、 ConverterFactory 以及衍生出来的 GenericConverter 、 ConditionalGenericConverter ,最后附录罗列了Spring自带的各种转换器。这么多的转换器,我们开发者可不想在要使用转换器时还自己来查找转换器使用。所以为了统一调用 Converter 进行类型转换,Spring友好地为我们提供了一个 org.springframework.core.convert.ConversionService 接口。我们靠猜都知道查询一个转换器,肯定是通过原类型和目标类型来查的,而且在查到转换器后我们会通过 convert 方法来执行转换过程。 接口说明 那么这个 ConversionService 的接口看起来应该是这样子: public interface ConversionService { boolean canConvert(Class<?> sourceType, Class<?> targetType); boolean canConvert(TypeDescriptor sourceType, TypeDescriptor targetType); <T> T convert(Object source, Class

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定

拈花ヽ惹草 提交于 2019-12-01 09:14:16
springmvc学习笔记(11)-springmvc注解开发之简单参数绑定 标签: springmvc [TOC] 本文主要介绍注解开发的简单参数绑定,包括简单类型、简单pojo以及自定义绑定实现类型转换 spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上。 springmvc中,接收页面提交的数据是通过方法形参来接收。而不是在controller类定义成员变更接收!!!! 默认支持的类型 直接在controller方法形参上定义下边类型的对象,就可以使用这些对象。在参数绑定过程中,如果遇到下边类型直接进行绑定。 HttpServletRequest :通过request对象获取请求信息 HttpServletResponse :通过response处理响应信息 HttpSession :通过session对象得到session中存放的对象 Model/ModelMap :model是一个接口,modelMap是一个接口实现。作用:将model数据填充到request域。 简单类型 通过 @RequestParam 对简单类型的参数进行绑定。如果不使用 @RequestParam ,要求request传入参数名称和controller方法的形参名称一致,方可绑定成功。 如果使用

SpringMVC架构设计分享

与世无争的帅哥 提交于 2019-12-01 09:13:18
根据大神的博客 SpringMVC深度探险系列 跟开涛学SpringMVC 消息转换器HttpMessageConverter 我自己的SpringMVC源码分析 这里的不全,可以到之前的地方查看 SpringMVC源码分析 加上自己看的源码,整理了一份SpringMVC架构设计的分享ppt,下载地址如下: SpringMVC架构设计的分享 来源: oschina 链接: https://my.oschina.net/u/2287728/blog/398853

SpringMVC源码剖析(五)-消息转换器HttpMessageConverter

孤街醉人 提交于 2019-12-01 09:12:05
#概述 在SpringMVC中,可以使用@ RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,底层这种灵活的消息转换机制,就是Spring3.x中新引入的HttpMessageConverter即消息转换器机制。 #Http请求的抽象 还是回到请求-响应,也就是解析请求体,然后返回响应报文这个最基本的Http请求过程中来。我们知道,在servlet标准中,可以用javax.servlet.ServletRequest接口中的以下方法: public ServletInputStream getInputStream() throws IOException; 来得到一个ServletInputStream。这个ServletInputStream中,可以读取到一个原始请求报文的所有内容。同样的,在javax.servlet.ServletResponse接口中,可以用以下方法: public ServletOutputStream getOutputStream() throws IOException; 来得到一个ServletOutputStream,这个ServletOutputSteam,继承自java中的OutputStream,可以让你输出Http的响应报文内容。

SpringMVC与Struts2区别与比较总结

喜欢而已 提交于 2019-12-01 06:31:13
1、Struts2是类级别, 一个类对应一个request上下文,SpringMVC是方法级别,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url;Struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。 2、SpringMVC的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间不共享变量,而Struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的,这不会影响程序运行,却给我们编码 读程序时带来麻烦,每次来了请求就创建一个Action,一个Action对象对应一个request上下文 3、Struts2有以自己的interceptor机制,SpringMVC用的是独立的AOP方式,这样导致Struts2的配置文件量还是比SpringMVC大。SpringMVC可以认为已经100%零配置;SpringMVC开发效率和性能高于Struts2。 4、Spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高

CommonWeb基于(easyui +spring4.2.4 +mybatis 3.3)(一)

て烟熏妆下的殇ゞ 提交于 2019-12-01 05:16:53
Common Web 项目框架,采用(jquery easyui +spring4.2.4 +mybatis 3.3),集成了基础的菜单、用户、权限管理,便于大家快速开展自己的项目。开发人员只需要关注业务逻辑部分开发,基础的框架、通用工具由作者持续的进行迭代更新; 目前项目的主体框架已经搭建完成,我会不断的往里面更新代码,持续完成; 项目访问地址: http://git.oschina.net/martin-luo/commonweb 大家有问题请留言,我会尽量及时回复; 来源: oschina 链接: https://my.oschina.net/u/661028/blog/637790

如何使用SpringMVC进行数据校验

北城以北 提交于 2019-12-01 03:15:03
前言: SpringMVC数据校验采用JSR-303校验。 • Spring 4.0 拥有自己独立的数据校验框架,同时支持 JSR 303 标准的校验框架。 • Spring 在进行数据绑定时,可同时调用校验框架完成数据校 验工作。在 Spring MVC 中,可直接通过注解驱动的方式 进行数据校验 • Spring 的 LocalValidatorFactroyBean 既实现了 Spring 的 Validator 接口,也实现了 JSR 303 的 Validator 接口。只要 在 Spring 容器中定义了一个 LocalValidatorFactoryBean ,即可将其注入到需要数据校 验的 Bean 中。 • Spring 本身并没有提供 JSR303 的实现,所以必须将 JSR303 的实现者的 jar 包放到类路径下 Hibernate Validator 是 JSR 303 的一个参考实现,这里我们就采用Hibernate validator。 JSR-303校验说明: 1.@NotNull/@Null 验证字段: 引用数据类型 注解说明:注解元素必须是非空或空 2.@Digits 验证字段:byte、short、int、long及各自的包装类型以及BigDecimal、BigInteger、String 注解说明:验证数字构成是否合法 属性说明

基于maven的ssh框架一步一步搭建(一)

两盒软妹~` 提交于 2019-11-30 17:53:29
一、新建maven项目,配置ssh框架pom的最低支持 1、新建一个maven项目 2、添加一个web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>limanman</display-name> </web-app> 3、基本ssh框架pom.xml配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/