一、配置法
在spring2.5之前,Spring MVC项目都是采用在xml中配置的方式去声明Controller的业务实现类;
1.下载框架所需的相关jar包:
(1)spring jar包下载地址(以spring-framework-4.2.0.RELEASE-dist.zip为例):https://repo.spring.io/libs-release-local/org/springframework/spring/4.2.0.RELEASE/
(2)Spring的核心容器依赖于common-logging包的下载地址(以commons-logging-1.2-bin.zip为例):https://commons.apache.org/proper/commons-logging/download_logging.cgi
2.IDEA新建web项目,并在WEB-INF目录下,新建lib文件夹,将上面的jar放于此文件夹中
commons-logging-1.2-bin.zip中只需要一个jar包:commons-logging-1.2.jar,
spring-framework-4.2.0.RELEASE-dist.zip中有三种类型的jar包:
(1)Spring框架的class文件的jar包;
(2)以“-source"结尾的jar包是Spring框架源文件压缩包;
(3)以”-javadoc"结尾的jar包是Spring框架API文档的压缩包;
所以,我们只需要将(1)(2)两种类型的jar包添加到项目中即可,当然也可以全部添加进去;
(ps: jar包复制到lib目录下,分别选中commons-logging和spring的jar包后右键,选择“Add as Library...”添加依赖即可)
3.在web.xml中配置Spring MVC框架的核心控制器配置:
添加“<absolute-ordering>"代码的作用是解决项目配置完成后,运行时出现下列报错的:
<init-param>标签指定了本Spring MVC项目的配置信息是配置在”/WEB-INF/springmvc-config.xml"中,在WEB-INF目录下新建一个名为springmvc-config的xml文件即可;
图中1里的配置是配置Spring MVC框架所需要的映射器、适配器和视图解析器;图中2里的配置则是配置自定义的用于处理前端请求的实现了Controller接口的处理类,前端通过访问name定义的值,然后调用对应的实现类;
4.编写相关的Controller实现类和页面即可:
图中的“<a href="/thanks">How are you?</a>"即在调用新的页面(通过”/thanks"在springmvc-config.xml中找到对应的Controller实现类,然后执行对应的处理方法跳转新的页面);
二、注解法
配置法的一个弊端为:每一个实现的Controller的业务处理类只能处理一个请求,因为所有的处理逻辑只能放到handleRequest方法中
所以在spring2.5之后,Spring MVC项目开始采用注解法,这种方式的优势是,不需要将每一个自定义的业务处理类都去springmvc-config.xml中去一 一配置,并且一个业务处理类中可以定义多个处理不同请求的方法;
注解法的项目搭建过程跟配置法相似,只有两处不同之处:
1.springmvc-config.xml配置如下图所示:
<context:component-scan>标签的作用是:项目运行时,去自动扫描“com.dongwu.controller"目录下所有带有指定注释(@Controller、@RequestMapping)的类,这些类即为业务处理类,将他们注册到项目中,以便用户操作时进行请求处理和分发调用这些业务处理类(配置了该目录后,就不需要每实现一个业务处理类后,在去springmvc-config.xml中去配置该业务处理类的信息了)
2.业务处理类采用注解的方式,而不需要在去实现Controller接口:
上图中,@Controller注解表示当前类是一个业务处理类,@RequestMapping则代表这是一个前端请求的处理方法,其value值的作用跟配置法中在springmvc-config.xml中的<bean name="/hello">相同,采用这种方式后,可以实现在同一个业务处理类中去编写不同请求的处理方法,如上图中的helloWorld()和hiWorld()即是处理不同请求的方法;
之后配置tomcat和项目部署运行,这里就不在赘述了~