Spring MVC系列(一):创建MVC项目

来源:互联网 发布:windows live登录 编辑:程序博客网 时间:2024/05/16 01:59

创建Spring MVC项目

Spring MVC由于易用性与安全性,目前受到越来越多的关注和使用。下面将介绍最基本的MVC项目创建步骤;

1. JAR包依赖

Spring MVC项目最基本的依赖只有spring-webmvc这一个JAR包

<dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-webmvc</artifactId>    <version>4.3.9.RELEASE</version></dependency>

2. web.xml 配置

Spring MVC是基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,然后转发至相应的handler

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"         xmlns="http://java.sun.com/xml/ns/javaee"         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    <display-name>Archetype Created Web Application</display-name>    <!--Spring MVC配置-->    <servlet>        <servlet-name>mvc</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath*:config/spring/mvc/appcontext-*.xml</param-value>        </init-param>    </servlet>    <servlet-mapping>        <servlet-name>mvc</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping></web-app>

3. MVC文件配置

MVC文件配置需要放置到web.xml配置的路径下;

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:mvc="http://www.springframework.org/schema/mvc"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">    <!--mvc需要的Controller必须在此声明-->    <context:component-scan base-package="spring.mvc"/>    <!-- 启用spring mvc 注解 -->    <mvc:annotation-driven/></beans>

4 Controller测试类

@Controller //控制器,类似于struts的Action@RequestMapping("/mvc") // 父request请求urlpublic class FirstController {    /**     * 没有@ResponseBody注解,返回值String被解读为需要渲染的视图名称     * @return     */    @RequestMapping("/getView")    public String getView(){        return "home"; //解析为渲染home视图    }    @RequestMapping(value = "/setInfo/{id}", method = RequestMethod.POST) // 子request请求url,拼接后等价于 /mvc/setInfo/{id}    @ResponseBody     public String exec(@PathVariable("id") String name, // @PathVariable获取url中的动态参数,可实现参数映射(id -> name)                       String sex,  // 直接获取url中名称为sex的参数                       @RequestParam("addr") String address){  // @RequestParam可将请求url参数映射成指定参数(addr -> address)        System.out.println("收到用户名称:" + name);        System.out.println("收到用户性别:" + sex);        System.out.println("收到用户地址:" + address);        return "Spring mvc test success";    }    @RequestMapping("/setPerson")    @ResponseBody    public Person setPerson(@RequestBody Person person) {        // @RequestBody直接接收json串并转成对象        System.out.println(JSON.toJSONString(person));        person.setName("lisi");        person.setSex("female");        person.setAddress("上海");        return person;    }}

控制器还可通过@RequestBody直接接收json串并转成对象,前提是先引入jackson-databind Jar包依赖;

5 测试

  • 在postman输入url:http://localhost:8080/mvc/setInfo/zhangsan?sex=male&addr=上海

  • 控制台输出结果:

收到用户名称:zhangsan收到用户性别:male收到用户地址:上海
  • postman结果展示如下
    这里写图片描述
    综上,可完成最基本的Spring MVC项目的搭建。