IDEA整合SSM框架之配置SpringMVC和DispatchServlet(三)

释放双眼,带上耳机,听听看~!

IDEA整合SSM框架—配置SpringMVC和DispatchServlet

  • 配置SpringMVC和DispatchServlet

  • 引入Spring依赖包

    • 创建Spring配置文件
    • 配置DispatchServlet
    • 实现接口helloword
    • 运行项目及访问接口
    • 接口配置返回对象型数据

配置SpringMVC和DispatchServlet

该文章是描述配置SpringMVC和DispatchServlet,实现接口hellword。
通过配置spring-mvc.xml、web.xml文件来实现。

引入Spring依赖包

  • 在pom.xml的节点中引入一下依赖包


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1<!-- Spring Core -->
2        <!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
3        <dependency>
4            <groupId>org.springframework</groupId>
5            <artifactId>spring-core</artifactId>
6            <version>4.1.4.RELEASE</version>
7        </dependency>
8
9        <!-- Spring Web -->
10        <!-- http://mvnrepository.com/artifact/org.springframework/spring-web -->
11        <dependency>
12            <groupId>org.springframework</groupId>
13            <artifactId>spring-web</artifactId>
14            <version>4.1.4.RELEASE</version>
15        </dependency>
16
17        <!-- Spring Web MVC -->
18        <!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
19        <dependency>
20            <groupId>org.springframework</groupId>
21            <artifactId>spring-webmvc</artifactId>
22            <version>4.1.4.RELEASE</version>
23        </dependency>
24
25

创建Spring配置文件

  • 在resources下先创建xml文件夹,包名不固定,再右击xml,选择New>Xml Configuration File>Spring Config等菜单创建spring-mvc.xml文件,包名和文件名不固定

  • 创建完成之后spring-mvc.xml中内容为


1
2
3
4
5
6
7
8
9
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"
4       xsi:schemaLocation="http://www.springframework.org/schema/beans
5       http://www.springframework.org/schema/beans/spring-beans.xsd">
6
7</beans>
8
9

配置DispatchServlet

  • 在web.xml配置DispatcherServlet


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1<!DOCTYPE web-app PUBLIC
2        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
3        "http://java.sun.com/dtd/web-app_2_3.dtd" >
4
5<web-app>
6    <display-name>Archetype Created Web Application</display-name>
7    <servlet>
8        <!--与servlet-mapping节点中的servlet-name相同-->
9        <servlet-name>mvc</servlet-name>
10        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
11        <init-param>
12            <param-name>contextConfigLocation</param-name>
13            <!--扫码spring配置文件,会加载以spring-开头的,xml文件-->
14            <param-value>classpath:xml/spring-*.xml</param-value>
15        </init-param>
16        <load-on-startup>1</load-on-startup>
17    </servlet>
18    <servlet-mapping>
19        <!--与servlet节点中的servlet-name相同-->
20        <servlet-name>mvc</servlet-name>
21        <!--可以设置为/   .do等后缀 访问接口时,需要带设置的后缀-->
22        <url-pattern>/</url-pattern>
23    </servlet-mapping>
24</web-app>
25
26

实现接口helloword

  • 创建HellWordController类


1
2
3
4
5
6
7
8
9
10
11
12
13
1@Controller
2public class HelloWordController {
3
4    @RequestMapping(value = "helloWord",
5            method = RequestMethod.GET,
6            produces = "application/json;charset=UTF-8")
7    @ResponseBody
8    public Object helloword() {
9        return "第一个WEB接口[Hello Word !]";
10    }
11}
12
13
  • 注解描述


1
2
3
4
5
6
7
8
9
10
1@RestController注解类,该类中的所有接口都返回String数据
2@Controller注解类,没有使用@ResponseBody注解的方法,返回网页,jsp或者html
3@Controller注解类,@ResponseBody注解方法,功能@RestController注解功能相同,
4如果所有接口都返回String数据,直接使用@RestController注解类,反之使用组合注解
5@RequestMapping注解实现访问地址,
6value是接口地址,
7produces返回数据类型以及编码格式,可解决中文乱码问题,
8method 请求方式
9
10
  • 在spring-mvc.xml注册启动注解


1
2
3
4
5
6
7
8
9
1<!--扫码控制器路径-->
2<context:component-scan base-package="com.xiao.demo.springmvc.controller"/>
3<!--启动注解-->
4<mvc:annotation-driven/>
5
6<!--配置<mvc:annotation-driven/>后,Spring启用注解驱动。
7然后Spring通过<context:component-scan/>标签的配置,自动扫描@Component,@Controller,@Service,@Repository等注解标记的组件注册到工厂中,来处理请求。-->
8
9

运行项目及访问接口

浏览器如图所示,表示springmv配置成共

接口配置返回对象型数据


1
2
3
1如果返回字符串结果,上面配置已足够,但实际项目中返回的是实体类对象或者JSON对象,需要另做一些配置,未配置会出现406错误
2
3
  • pom.xml中引入JSON工具包


1
2
3
4
5
6
7
8
1<!--json数据处理工具-->
2<dependency>
3    <groupId>com.alibaba</groupId>
4    <artifactId>fastjson</artifactId>
5    <version>1.2.56</version>
6</dependency>
7
8
  • 将spring-mvc.xml中的mvc:annotation-driven/代码修改成如下代码


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1<!--启动注解,并处理返回对象型数据-->
2<mvc:annotation-driven>
3    <mvc:message-converters>
4        <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
5            <property name="supportedMediaTypes">
6                <list>
7                    <value>text/html;charset=UTF-8</value>
8                    <value>application/json</value>
9                    <value>application/xml;charset=UTF-8</value>
10                </list>
11            </property>
12            <property name="features">
13                <list>
14                    <value>DisableCheckSpecialChar</value>
15                </list>
16            </property>
17        </bean>
18    </mvc:message-converters>
19</mvc:annotation-driven>
20
21

给TA打赏
共{{data.count}}人
人已打赏
安全经验

职场中的那些话那些事

2021-9-24 20:41:29

安全经验

elk+redis 搭建nginx日志分析平台

2021-11-28 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索