Spring MVC 实战学习系列(一)初体验
小白专区,大神请绕道~
快要工作了,趁这个时间将Spring MVC自己的学习和使用经历为大家分享一下。为了让初学者快速入门尽可能的白话一些,但会安插一些理论的内容。废话不多说了开始吧!!!!!
先建立一个Spring MVC项目有一个直观认识
多参考官方文档,使用版本Spring 4.X
- 简单Spring MVC项目搭建
- 注意事项
目录
简单Spring MVC项目搭建
准备工作:
- Eclipse(Neon.2 Release (4.6.2)) :建议java EE版 ,可以省去自己安装一些插件(浪费时间意义不大,强迫症者例外)
- Maven (3.3.9版): Eclipse JavaEE 自带maven3.X版,建议用自己的(Maven安装请自己“百度”)
- 开发环境无须安装tomcat,只需tomcat插件,pom.xml文件中会定义(下文)
1.创建一个Maven Project
这是Maven项目会报错,这是因为该项目不符合Maven Web 项目的约定,修改方式,在文件目录src/main/webapp下建立WEB-INF文件夹,在其下在建立web.xml文件
错误消除!!!
2.修改pom.xml文件
具体包括两部分:添加依赖包、添加tomcat插件
<!-- 版本声明 -->
<properties>
<spring.version>4.2.9.RELEASE</spring.version>
<commons-logging>1.2</commons-logging>
<maven-compiler-plugin.version>2.5.1</maven-compiler-plugin.version>
<JDK.version>1.8</JDK.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<tomcat-servlet-api.version>7.0.73</tomcat-servlet-api.version>
<tomcat7-maven-plugin.version>2.2</tomcat7-maven-plugin.version>
<maven-war-plugin.version>2.3</maven-war-plugin.version>
</properties>
<!-- 依赖内容 -->
<dependencies>
<!-- 关于spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc-portlet</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<!-- 关于servlet -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>${tomcat-servlet-api.version}</version>
<scope>provided</scope>
</dependency>
<!-- Spring 需要 commons-logging包支持 -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging}</version>
</dependency>
</dependencies>
<!-- 配置插件 -->
<build>
<plugins>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${JDK.version}</source>
<target>${JDK.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<!-- war -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven-war-plugin.version}</version>
</plugin>
<!-- tomcat7 配置插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>${tomcat7-maven-plugin.version}</version>
<configuration>
<port>8080</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
设置DispatcherServlet(编辑web.cml)
<!-- 部署DispatcherServlet -->
<servlet>
<servlet-name>springmvc01</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- Spring MVC XML配置文件位置,如果省略默认为[servlet-name]-servlet.xml默认位置在WEB-INF文件夹下 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- src/main/resource文件下的 spring-config.xml-->
<param-value>classpath:spring-config.xml</param-value>
</init-param>
<!-- tomcat 启动时立即启动 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc02</servlet-name>
<!-- 映射的URL范围 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
修改pom.xml后最好update一下项目:项目右击选择maven–>update project
依赖包会被自动下载(保证网络畅通,呆萌错误!!)
创建Spring MVC XML文件
src/main/resource文件下创建spring-config.xml
<!-- 自动扫描 -->
<context:component-scan base-package="org.controllers" />
<!-- 配置annotation类型的处理映射器 -->
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
<!-- 配置annotation类型的处理器适配器 -->
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />
创建Handler类
@Controller
public class HelloController {
@RequestMapping(value = "/hello")
//返回一个ModelAndView 独享
public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
ModelAndView mav = new ModelAndView();
//为模型添加一个字符串
mav.addObject("message", "hello Spring MVC");
//利用名字指明界面的位置
mav.setViewName("WEB-INF/welcome.jsp");
return mav;
}
}
创建JSP页面
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
${requestScope.message}
</body>
</html>
运行测试项目
最好先update一下项目
右击项目 Run As–>maven build…
输入命令:clean tomcat7:run
运行浏览器:http://localhost:8080/hello
具体代码下载地址:http://download.csdn.net/detail/wangchuanqi1234/9782530