经典MVC模式中 :M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。——设计模式的一种思想
而 SpringMVC 则是属于Spring框架的一个模块,能够快速的开发MVC模式应用,属于MVC模式的一种实现,开箱即用的工具。
Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。
Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 年 6 月首次在 Apache 2.0 许可下发布。
Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。
Spring 框架的核心特性是可以用于开发任何 Java 应用程序,但是在 Java EE 平台上构建 web 应用程序是需要扩展的。 Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。
——w3cshool
简单的说:Spring就是一套工具,能够让开发者快速构建企业级应用(包含安全组件,控制管理等常用模块)
IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一。这里我使用的是如下版本
Intellij IDEA 最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。除此之外还有很多方便的插件供开发者一键下载。
由于网上安装教程很多这里不再赘述。
Gradle是【Java开发人员指南】中推荐的几个核心工具之一,很多开源项目都是采用Gradle进行构建,这得益于Gradle的语法灵活,开发者可以根据自己的实际需求灵活编排构建任务,但Gradle并不是项目构建的唯一选择。
简单的说:Gradle就相当于一个百宝箱,通过简单的说明你需要什么东西,它就能自动帮助你下载到相应位置。而Spring框架也只是其中的工具之一。
IDEA自带常用的构建工具,如耳熟能详的mevan等。
Tomcat服务器:是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
Tomcat的配置可以参看我的这篇文章——IDEA之Web框架简单搭建(全图解)
总的流程如下:
项目-新建-空项目-设置位置和工程名-提示新建模块如 (图1)
选择Gradle,勾选Java、Web库-设置文件位置和项目名称-完成 (图2)
等待IDEA自动导入Gradle工具和Web相关库,结构目录如 (图3)
在https://mvnrepository.com/这个网站搜素spring web 和spring webmvc这两个模块,我选择的是4.3.18版本 (图4-图5)
复制上面路径到build.gradle文件的dependencies{//这里}中,见 (图6)
会出现如下图标-点击即可(等待很长一段时间,Gradle载入相关包) (图7)
然后是写相关配置文件——web.xml、spring-mvc.xml,按照如下文件结构,一模一样的建立。 (图8)
——文件内容在最后,复制即可
图2
spring-mvc.xml
<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">
<context:component-scan base-package="person.test.controller"/>
<bean
id="internalResourceViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
bean>
<mvc:annotation-driven>mvc:annotation-driven>
<mvc:resources mapping="/views/**" location="WEB-INF/views/"/>
beans>
web.xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
<servlet>
<servlet-name>springmvcservlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
<init-param>
<param-name>contextConfigLocationparam-name>
<param-value>classpath*:spring-mvc.xmlparam-value>
init-param>
<load-on-startup>1load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>springmvcservlet-name>
<url-pattern>*.dourl-pattern>
servlet-mapping>
web-app>
MyController
package person.test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MyController {
@RequestMapping("/student/list.do")
public String list(){
//转向到WEB-INF/views/listStudents.jsp
return "listStudents";
}
}
listStudents.jsp 随便写什么都行
如下界面的URL是启动默认输入的URL
下面的上下文是实际访问项目的URL
即我启动Tomcat运行,自动启动浏览器跳转到——
http://localhost:8080/Gradle_Model/
这个表示默认访问
http://localhost:8080/Gradle_Model/index.jsp
要访问控制器,需要访问
http://localhost:8080//Gradle_Model/student/list.do
——SpringMVC的配置中提到拦截.do结尾的请求,转发到控制器
——控制器的方法注解,接收"/student/list.do"请求
@RequestMapping("/student/list.do")
public String list(){
//转向到WEB-INF/views/listStudents.jsp
return "listStudents";
}
执行后返回的到listStudents.jsp页面
即实现了C(控制器)-》M(方法过程,目前没有任何操作)-》V(一般就是jsp页面)
作者长期更新,如果觉得本文还算不错的话,请给我一个大大的赞!!!
如果非常赞同这篇文章,请关注我,持续了解更多精彩博文!!!
作者主攻Java Web方向,平时长期更新Java Web基础概念文章,以及算法和数据结构——【一日双题—见微知著】系列。同时设计模式系列也会尽快一月内完结