前言
SpringMVC是一个实现了Web MVC设计模式的轻量级Web框架。它与前辈Struts 2框架一样,都属于MVC框架,因为其应用和性能等方面比Struts 2更加优异,所以Spring MVC是当初比拟支流的MVC框架。
先简略概括一下SpringMVC的次要特点:
灵活性强,容易与其余框架集成;提供了前端控制器DispatcherServlet;反对多种视图技术,如JSP、FreeMarker等视图技术;反对国际化;
And So On…
接下来,开始写咱们的第一个Spring MVC利用。
开发工具
intelliJ IDEA (版本2020.2.2)与浏览器
创立我的项目
步骤1:关上IDEA,新建我的项目(New Project)。
步骤2:抉择Maven,按默认的来,间接点击右下角Next。接着输出我的项目名,按默认的来,间接点击右下角Next。
步骤3:创立完Maven我的项目后,点击我的项目名右键,抉择增加框架反对(Add Framework Support…)
步骤4:勾选Web Application(4.0),点击Next。
步骤5:实现以上步骤,最终的我的项目构造如下:
引入依赖Jar包
在pom.xml中,导入Maven依赖Jar包,如下:
<dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.6.RELEASE</version> </dependency> </dependencies>
提醒: 导入依赖Jar包后,须要点击右侧的Maven,而后刷新一下能力失效。具体如下:
查看依赖Jar包是否导入胜利:
配置前端控制器
在web.xml中,配置SpringMVC的前端控制器DispatcherServlet。
在此之前,须要在src/main/resources目录下新建springmvc-config.xml文件。
web.xml,如下:
<?xml version="1.0" encoding="UTF-8"?><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>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 初始化加载配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-config.xml</param-value> </init-param> <!-- 示意容器在启动时立刻加载Servlet --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
提醒: 在<servlet-mapping>
中,通过<url-pattern>
元素的/
,会将所有的URL拦挡,并交由DispatcherServlet解决。
创立Controller类
在src/main/java目录下,新建一个com.study.controller包,并在包中创立控制器类HelloController,须要实现Controller接口。
提醒: 实现的Controller接口必须是org.springframework.web.servlet.mvc
包下的才能够。
在重写Controller接口中的handleRequest办法时,可能会呈现如下报错:
解决办法:
在pom.xml中,导入所需的依赖Jar包,如下:
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency>
HelloController.java如下:
package com.study.controller;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) { //创立ModelAndView对象 ModelAndView mav = new ModelAndView(); //向模型对象中增加数据 mav.addObject("msg","这是我的第一个SpringMVC程序"); //设置逻辑视图名 mav.setViewName("/WEB-INF/jsp/hello.jsp"); //返回ModelAndView对象 return mav; }}
本案例中,向模型对象中增加了一个名称为msg的字符串对象,并设置返回的逻辑视图门路为/WEB-INF/jsp/hello.jsp
,这样,申请就会被转发到hello.jsp页面。
创立视图页面
在WEB-INF目录下,新建一个jsp文件夹,并在文件夹中新建一个hello.jsp页面文件,而后在该页面应用EL表达式获取msg中的信息。
hello.jsp,如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title></head><body> ${msg}</body></html>
创立Spring MVC的配置文件,配置控制器映射信息
在第四步中,咱们曾经在src/main/resources目录下新建了一个springmvc-config.xml文件。接下来,咱们须要配置控制器映射信息。
springmvc-config.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" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置处理器Handle,映射"/helloController"申请 --> <bean name="/helloController" class="com.study.controller.HelloController" /> <!-- 处理器映射器,将解决Handle的name作为url进行查找 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /> <!-- 处理器适配器,配置对处理器中handleRequest()办法的调用 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" /></beans>
启动我的项目,测试利用
须要配置Tomcat来启动我的项目,具体步骤如下:
步骤1:点击上方Add Configureation…
步骤2:点击左上方+,抉择Tomcat Server下的Local。
步骤3:点击右下角的Fix。批改Application context为/,接着点击Apply->OK。
实现以上步骤,就能够开始运行我的项目。
关上浏览器拜访http://localhost:8080/helloController
后果如下:
拜访后,有可能会呈现404、资源未公开等报错信息。
解决办法:
步骤1:点击右上角的Project Structure…
步骤2:点击Artifacts->WEB-INF->右键,新建一个lib目录。
步骤3:再进行如下操作。
提醒: 实现以上步骤,记得点击Apply->OK。
再重新启动Tomcat,拜访http://localhost:8080/helloController
即可。
浏览器中显示出了模型对象中的字符串信息,就阐明这个超级简略的Spring MVC程序执行胜利。
总结
以上是我分享给大家的对于SpringMVC疾速入门程序的一些总结。如果感觉还不错的话,就送我一个赞吧!如果本文对你有用的话,也欢送珍藏哦!
最初
欢送关注公众号:前程有光,支付一线大厂Java面试题总结+各知识点学习思维导+一份300页pdf文档的Java外围知识点总结!