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