基于XML搭建SpringMVC项目

*如果你需要将应用部署到不支持Servlet3.0容器中 或者 你只是对web.xml情有独钟,那我们只能按照传统的方式,通过web.xml来配置SpringMVC。

*搭建SpringMVC需要在web.xml中注册DispatcherServlet和ContextLoaderListener,同时他们两个之间会分别通过上下文参数contextConfigLocation指定一个XML文件地址来加载Spring应用上下文,而我更倾向于使用Java配置类来加载Spring应用上下文(本文也是如此)。

(1)pom中添加SpringMVC相关jar

1     <dependency>
2       <groupId>org.springframework</groupId>
3       <artifactId>spring-webmvc</artifactId>
4       <version>4.3.21.RELEASE</version>
5     </dependency>

(2)设置web.xml文件(使用Java配置类来加载Spring应用上下文)

*要在SpringMVC中使用Java配置类来构建Spring应用上下文,我们需要配置DispatcherServlet和ContextLoaderListener的contextClass上下文参数为AnnotationConfigWebApplicationContext,AnnotationConfigWebApplicationContext是WebApplicationContext的实现类,它会加载Java配置类而不是XML文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xmlns="http://java.sun.com/xml/ns/javaee"
 4          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 5          id="WebApp_ID" version="2.5">
 6     <!--指定根配置使用Java配置类-->
 7     <context-param>
 8         <param-name>contextClass</param-name>
 9         <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
10     </context-param>
11     <!--指定根配置Java配置类所在路径-->
12     <context-param>
13         <param-name>contextConfigLocation</param-name>
14         <param-value>cn.coreqi.config.RootConfig</param-value>
15     </context-param>
16     <!--注册ContextLoaderListener-->
17     <listener>
18         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
19     </listener>
20     <!--注册DispatcherServlet-->
21     <servlet>
22         <servlet-name>dispatcherServlet</servlet-name>
23         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
24         <!--指定DispatcherServlet配置使用Java配置类-->
25         <init-param>
26             <param-name>contextClass</param-name>
27             <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
28         </init-param>
29         <!--指定DispatcherServlet配置Java配置类所在路径-->
30         <init-param>
31             <param-name>contextConfigLocation</param-name>
32             <param-value>cn.coreqi.config.WebConfig</param-value>
33         </init-param>
34         <!--这是启动优先级吧-->
35         <load-on-startup>1</load-on-startup>
36     </servlet>
37     <!--DispatcherServlet映射-->
38     <servlet-mapping>
39         <servlet-name>dispatcherServlet</servlet-name>
40         <url-pattern>/</url-pattern>
41     </servlet-mapping>
42 </web-app>

(3)根配置类(初始化项目,所以没啥内容)

1 package cn.coreqi.config;
2
3 import org.springframework.context.annotation.Configuration;
4
5 @Configuration
6 public class RootConfig {
7 }

(4)DispatcherServlet配置类

 1 package cn.coreqi.config;
 2
 3 import org.springframework.context.annotation.Bean;
 4 import org.springframework.context.annotation.ComponentScan;
 5 import org.springframework.context.annotation.Configuration;
 6 import org.springframework.web.servlet.ViewResolver;
 7 import org.springframework.web.servlet.config.annotation.*;
 8 import org.thymeleaf.TemplateEngine;
 9 import org.thymeleaf.spring4.SpringTemplateEngine;
10 import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver;
11 import org.thymeleaf.spring4.view.ThymeleafViewResolver;
12 import org.thymeleaf.templatemode.TemplateMode;
13 import org.thymeleaf.templateresolver.ITemplateResolver;
14
15 @Configuration
16 @EnableWebMvc   //启用Spring MVC 注解驱动  <mvc:annotation-driven />
17 @ComponentScan("cn.coreqi.controller")
18 public class WebConfig extends WebMvcConfigurerAdapter {
19
20     //配置Thymeleaf视图解析器
21     @Bean
22     public ViewResolver viewResolver(TemplateEngine templateEngine){
23         ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
24         viewResolver.setTemplateEngine(templateEngine);
25         viewResolver.setCharacterEncoding("utf-8");
26         return viewResolver;
27     }
28
29     //创建模板引擎
30     @Bean
31     public TemplateEngine templateEngine(ITemplateResolver templateResolver){
32         SpringTemplateEngine templateEngine = new SpringTemplateEngine();
33         templateEngine.setTemplateResolver(templateResolver);
34         return templateEngine;
35     }
36
37     //创建Thymeleaf模板解析器
38     @Bean
39     public ITemplateResolver templateResolver(){
40         SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
41         resolver.setPrefix("/WEB-INF/templates/");
42         resolver.setSuffix(".html");
43         resolver.setTemplateMode(TemplateMode.HTML);
44         resolver.setCacheable(false);
45         resolver.setCharacterEncoding("utf-8");
46         return resolver;
47     }
48
49     //配置对静态资源的处理
50     @Override
51     public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
52         configurer.enable();
53     }
54
55 }

原文地址:https://www.cnblogs.com/fanqisoft/p/10260829.html

时间: 2024-08-02 12:47:55

基于XML搭建SpringMVC项目的相关文章

基于XML搭建Dubbo项目

(1).新建一个普通Maven项目,用于存放一些公共服务接口及公共的Bean等. 公共Bean: 1 package cn.coreqi.entities; 2 3 import java.io.Serializable; 4 5 public class User implements Serializable { 6 private Integer id; 7 private String userName; 8 private String passWord; 9 private Inte

基于Maven搭建SpringMVC+Mybatis项目(4)

从高考,到程序员      CSDN日报20170620--<找一个好工作,谈一份好薪水>      6 月书讯 | 最受欢迎的 SQL 入门书重磅升级 从头开始基于Maven搭建SpringMVC+Mybatis项目(4) 标签:               mavenmybatisspring mvc分页JAVA 2016-07-27 16:53             4598人阅读             评论(0)             收藏              举报 本文章

基于Maven搭建SpringMVC+Mybatis项目(2)

从头开始基于Maven搭建SpringMVC+Mybatis项目(2) 标签:               JAVAmavenmybatisspring mvc 版权声明:欢迎转载, 转载请保留原文链接. 接上文内容,本节介绍Maven的聚合和继承. 从头阅读传送门 互联网时代,软件正在变得越来越复杂,开发人员通常会对软件划分模块,以获得清晰的设计.良好的分工及更高的可重用性.Maven的聚合特性能把多个模块聚合在一起构建,并促进各子模块通过继承父模块的pom配置来保持配置的一致.为了演示这些特

基于Maven搭建SpringMVC+Mybatis项目(3)

| 从高考,到程序员      CSDN日报20170620--<找一个好工作,谈一份好薪水>      6 月书讯 | 最受欢迎的 SQL 入门书重磅升级 从头开始基于Maven搭建SpringMVC+Mybatis项目(3) 标签:               JAVAmavenspring mvcmybatis 2016-07-26 10:06             42087人阅读             评论(2)             收藏              举报 本文

零配置简单搭建SpringMVC 项目

SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对SpringMVC启动时加载顺序做简单的说明. 1.SpringMVC启动流程图 2.SpringMVC项目启动流程介绍 SpringMVC 是Spring 框架的重要模块,借助于Spring 的容器技术,可以非常方面的搭建Web项目. SpringMVC项目启动时要完成Spring 容器的初始化和Sp

maven -- 实现在Eclipse用maven搭建springmvc项目(附构建步骤和详细实现代码)

Learn from:http://www.cnblogs.com/fangjins/archive/2012/05/06/2485459.html,感谢楼主的分享,才有下面的这篇学习小结 一.环境准备 (1)装有Maven插件的eclipse,http://www.cnblogs.com/lmei/p/4782882.html maven的setting.xml配置说明 http://www.cnblogs.com/lmei/p/4788377.html 之前在配置过程中遇到了几个问题: 问题

项目搭建系列之一:使用Maven搭建SpringMVC项目

约定电脑都安装了eclipse,且已配置好Maven以及eclipse插件. 1.Eclipse 2.maven 3.Eclipse 需要安装maven插件.url:maven - http://download.eclipse.org/technology/m2e/releases . 1.新建一个Maven Project 2.选择工作空间 3.搭建Web工程,我们选择maven-archetype-webapp类型 4.填写项目参数,如图 5.以上步骤完成时的工程结构目录 6.可以查看或修

Maven搭建SpringMVC项目详解

前言 上一次复习搭建了SpringMVC+Mybatis,这次搭建一下SpringMVC,采用的是SpringJDBC,没有采用任何其他的ORM框架,SpringMVC提供了一整套的WEB框架,所以如果想搭建纯的SpringMVC的话,而且不必映入别的任何框架,SpringMVC都给我们提供了,下面试Spring + SpringMVC的详细搭建过程. 项目包含:数据库mysql(其实那个数据库都无所谓),连接池采用的是c3p0. 1.创建数据表 数据表很简单,user_info 2.搭建Mav

快速搭建 springmvc 项目

1. Jar 包 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.