SpringMVC测试

这篇是接着上篇Spring单元测试写的。

一.修改web.xml,配置SpringMVC的前端控制器

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 5     id="ticc_web" version="3.0">
 6     <servlet>
 7         <servlet-name>dispatcher</servlet-name>
 8         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 9         <init-param>
10             <param-name>contextConfigLocation</param-name>
11             <param-value>classpath:spring.xml</param-value>
12         </init-param>
13         <load-on-startup>1</load-on-startup>
14     </servlet>
15     <servlet-mapping>
16         <servlet-name>dispatcher</servlet-name>
17         <url-pattern>/</url-pattern>
18     </servlet-mapping>
19 </web-app>

2.修改spring.xml,配置SpringMVC的视图解析器

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6                http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
 7                http://www.springframework.org/schema/context
 8                http://www.springframework.org/schema/context/spring-context-4.0.xsd
 9                http://www.springframework.org/schema/tx
10                http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
11                http://www.springframework.org/schema/aop
12                http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
13                ">
14     <!-- 自动扫描dao和service包(自动注入) -->
15     <context:component-scan base-package="com.youms.ssh.webService" />
16
17     <!-- 配置视图解析器: 负责将视图名解析成真正的视图对象(比如jsp) -->
18     <bean
19         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
20         <property name="prefix" value="/WEB-INF/"></property>
21         <property name="suffix" value=".jsp"></property>
22     </bean>
23 </beans>

3.在WEB-INF下添加页面NewFile.jsp

 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <h1>Hello Spring!</h1>
11
12     <h2>${test1}</h2>
13     <h2>${test2}</h2>
14 </body>
15 </html>

4.测试

 1 package com.youms.ssh.webService.controller;
 2
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.stereotype.Controller;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.bind.annotation.RequestMethod;
10 import org.springframework.web.servlet.ModelAndView;
11
12 import com.youms.ssh.webService.service.UserService;
13
14 @Controller
15 @RequestMapping("/test")
16 public class Test {
17     @Autowired
18     private UserService userService;
19
20     /**
21      * 测试普通的方法
22      * 此方法能接收到通过方法testRedirect1()重定向传来的参数
23      * 此方法能将通过方法testForward1()转发过来的参数传给页面
24      * @return
25      */
26     @RequestMapping(value="/testView",method=RequestMethod.GET)
27     public String testView(HttpServletRequest req,String test2){
28         System.out.println("进入TestAction");
29         System.out.println(test2+"=======================");
30         userService.test();
31         return "testView/NewFile";
32     }
33
34     /**
35      * 测试使用ModelAndView传参
36      * @param res
37      * @return
38      */
39     @RequestMapping(value="/testModel",method=RequestMethod.GET)
40     public ModelAndView testModel(HttpServletResponse res){
41         //与页面编码保持一致则不会乱码
42         res.setCharacterEncoding("utf-8");
43         ModelAndView mav = new ModelAndView("testView/NewFile");
44         mav.addObject("test1","测试1!");
45         return mav;
46     }
47
48     /**
49      * 测试使用ModelAndView重定向
50      * @param res
51      * @return
52      */
53     @RequestMapping(value="/testRedirect1",method=RequestMethod.GET)
54     public ModelAndView testRedirect1(HttpServletResponse res){
55         //与页面编码保持一致则不会乱码
56         res.setCharacterEncoding("utf-8");
57         ModelAndView mav = new ModelAndView("redirect:/test/testView");
58         mav.addObject("test2","测试2!");
59         return mav;
60     }
61
62     /**
63      * 测试使用字符串重定向
64      * @param res
65      * @return
66      */
67     @RequestMapping(value="/testRedirect2",method=RequestMethod.GET)
68     public String testRedirect2(HttpServletResponse res){
69         return "redirect:/test/testView";
70     }
71
72     /**
73      * 测试使用ModelAndView转发
74      * @param res
75      * @return
76      */
77     @RequestMapping(value="/testForward1",method=RequestMethod.GET)
78     public ModelAndView testForward1(HttpServletResponse res){
79         //与页面编码保持一致则不会乱码
80         res.setCharacterEncoding("utf-8");
81         ModelAndView mav = new ModelAndView("forward:/test/testView");
82         mav.addObject("test2","测试2!");
83         return mav;
84     }
85
86     /**
87      * 测试使用字符串转发
88      * @param res
89      * @return
90      */
91     @RequestMapping(value="/testForward2",method=RequestMethod.GET)
92     public String testForward2(HttpServletResponse res){
93         return "forward:/test/testView";
94     }
95 }
时间: 2024-10-05 01:06:27

SpringMVC测试的相关文章

SpringMVC 测试 mockMVC

来自:http://www.cnblogs.com/lyy-2016/p/6122144.html(尊重版权) SpringMVC测试框架 基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试. 一 MockMvcBuilder MockMvcBuilder是用来构造MockMvc的构造器,其主要有两个实现:StandaloneMockMvcBuilder和DefaultMockMvcBuilder,分别

SpringMvc测试框架详解----服务端测试

随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的.从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了). Spring MVC测试框架提供了对服务器端和客户端(基于RestTemplate的客户端)提供了支持. 对于服务器端:在Spring 3.2之前,我们测试时一般都是直接new控制器,注入依赖,然后判断返回值.但是我们无法连同Spri

springmvc 测试项目示例

新建一个 maven项目 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quo

SpringMvc框架MockMvc单元测试注解及其原理分析

来源:https://www.yoodb.com/ 首先简单介绍一下Spring,它是一个轻量级开源框架,简单的来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架.特点方便解耦,简化开发,AOP编程的支持声明式,事务的支持以及降低Java EE API的使用难度等. 目前主流的Web MVC框架除了Struts之外就是SpringMVC,不过要想灵活运用SpringMVC来应对大多说的web开发除了必须掌握其配置和原理外还需要会测试.在Spring3.

手写SpringMVC 框架

手写SpringMVC框架 细嗅蔷薇 心有猛虎 背景:Spring 想必大家都听说过,可能现在更多流行的是Spring Boot 和Spring Cloud 框架:但是SpringMVC 作为一款实现了MVC 设计模式的web (表现层) 层框架,其高开发效率和高性能也是现在很多公司仍在采用的框架:除此之外,Spring 源码大师级的代码规范和设计思想都十分值得学习:退一步说,Spring Boot 框架底层也有很多Spring 的东西,而且面试的时候还会经常被问到SpringMVC 原理,一般

MyBatis详解 与配置MyBatis+Spring+MySql

MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获.MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型.Map 接口和POJO 到数据库记录.相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现.需要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包).mybatis-spring-1.0.0.jar

Spring版本功能变更&amp;Spring4.x的新特性

有朋友想知道Spring不同版本都有哪些功能变更,说直接在百度搜索找到的结果都不是想要的,其实还是关键词不对,找Spring不同版本的新特性就能获得更好的结果.其实在Spring工程github的wiki上也有说明,只是没那么显眼,放一个链接:https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-the-Spring-Framework What's New in Spring Framework 5.x

Springboot基础篇

Springboot可以说是当前最火的java框架了,非常适合于"微服务"思路的开发,大幅缩短软件开发周期. 概念 过去Spring充满了配置bean的xml文件,随着spring2.x和JDK1.5带来注解,配置大量减少,到了目前的Spring4.x和Spring Boot,更是推荐java配置的方式(这点和.NET很相似). 总体来说,Spring框架是轻量级企业开发一个完整解决方案,通过Ioc容器来管理pojo对象,其具有模块化的特点,基本的模块如下: 核心容器:Spring-C

一、MyBatis简介与配置MyBatis+Spring+MySql

1.1MyBatis简介 MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获.MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型.Map 接口和POJO 到数据库记录.相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现.需要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包).mybatis-spr