首先我们要先创建一个MAVEN项目,以前我们是直接创建的是JAVA普通项目,现在我们直接创建MAVEN项目
创建MAVEN项目:
因为我们要选择下面的项目,所以这里要勾选。
在下面我们要选择的是
记住不要选这个:
然后我们新建我们需要的文件夹,右击main进行选择
首先先建立存放源码的地方
同样的方法再创建resource
然后我们再源码里面建立需要用到的类以及接口(这些都是准备工作,前面的博客都有(集成WEB环境)唯一不一样的,就是我们现在建立的是MAVEN项目)Spring集成WEB环境(进阶解耦合)_Outlier_Lin的博客-CSDN博客
开发步骤:
第一步:我们导入SpringMVC的坐标:
为了方便我把准备工作以前的坐标也都写在了下面(下面同时也包括了springmvc的坐标)
这里值得注意的是spring-webmvc是springmvc的坐标,而spring-web是集成web的
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
第二步:配置 springmvc的核心控制器DispathcerServlet(前端控制器)在web.xml里面进行配置
<!-- 配置SpringMVC的前端控制器-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
对上面代码进行的解释:
这个代码表示的是服务器启动时就加载我的servlet
如果不配就表示第一次使用时才会创建对象
这个表示创建映射
<url-pattern>/</url-pattern>这个是缺省的写法,表示的时不管什么请求都会首先先经过这个servlet
第三步,第四步:创建controller类和视图页面:使用注解配置controller类中的方法的映射地址
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class UserController {
@RequestMapping("/quick")
public String save(){
System.out.println("controller save running");
return "success.jsp";
}
}
在这个页面中,
@RequestMapping("/quick")表示请求映射,当我们访问这个quick的时候它就会直接帮我们映射到这个save方法
return返回的是你要跳转的视图
然后我们在创建一个success.jsp页面:
第五步:配置springmvc的核心文件spring-mvc.xml进行组件扫描
(虽然这个组件扫描在spring的核心文件applicationContext中也能完成,但是我们基本上都是各自负责各自的业务层)
这个核心文件的名字和applicationContext是一样的,也是可以随便取的,但是我们约定成俗都叫这个名字
<!-- Controller组件扫描-->
<context:component-scan base-package="com.Outlier.controller"/>
然后我们上面用的是context命名空间下的,我们就需要在上面加入context的命名空间。
快速的方法就是复制上面的bean命名空间,把bean全部改成context就可以了。
虽然我们的spring的配置文件弄好了,但是没有被加载进项目,那么就相当于没用,接下来我们加载配置文件:
最后一步:我们进行测试:
通过quick的映射去访问controller里面的save方法:
控制台打印: