spring mvc框架是目前企业开发中用到的比较普遍的一种MVC框架,今天简单介绍一下如何搭建spring mvc框架。
首先新建工程,目录如下所示:
我这边用到的是maven构建工程,引入spring mvc相关的包
<!-- springmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.framework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.framework.version}</version>
</dependency>
这里用到的spring版本是4.1.1.RELEASE。
maven配置完成以后开始配置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" 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"> <!--配置spring mvc--> <servlet> <!--testServlet是servlet的名字--> <servlet-name>testServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!--自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml--> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>testServlet</servlet-name> <!--/表示拦截所有请求--> <url-pattern>/</url-pattern> </servlet-mapping> <!--该过滤器的功能是设置编码格式,防止中文乱码--> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--该过滤器的作用是使浏览器支持除get和post以外的请求,如put,delete等--> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <servlet-name>testServlet</servlet-name> </filter-mapping> </web-app> 然后在WEB-INF下新建spring-mvc.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" 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"> <!-- 启用spring mvc 注解 --> <context:annotation-config/> <!-- ①:对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --> <context:component-scan base-package="com.cki"/> <!-- 视图渲染 jsp/freemaker/velocity--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 制定页面存放的路径 --> <property name="prefix" value="/WEB-INF/jsp/"></property> <!-- 文件的后缀 --> <property name="suffix" value=".jsp"></property> </bean> </beans>
配置完成,然后就可以开始写测试代码了,首先新建一个测试的controller,代码如下:
/** * @author cki * @since 1.0.0, 2017/08/28 */ //Controller注解表明该类是一个Controller,由spring进行管理,RequestMapping注解定义了该类的访问路径 @Controller @RequestMapping("/test") public class StudentController { @RequestMapping(value="index", method = RequestMethod.GET) public String testMvc(String name){ return name; } }
同时在WEB-INF/jsp目录下新建index.jsp,jsp名字需要与返回的字符串相同,代码如下所示:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>success</title> </head> <body> chenkai success </body> </html>
在浏览器中访问的结果如下所示:
至此,一个简单的spring mvc框架就搭建完成了,下期讲解在spring mvc框架下如何接入mybatis进行数据库的查询。