Spring MVC配置JSP及配置thymeleaf

Spring MVC配置JSP及配置thymeleaf_第1张图片

作者:谭东

环境为:IntelliJ Idea 2018.3版本

Spring MVC配置JSP及配置thymeleaf_第2张图片

目前都是使用更加方便的Spring boot进行开发后端了,因为不用像Spring MVC这样配置很多的配置文件了。但是学习Spring MVC的常用配置,有助于我们更好的理解Spring boot为我们做了哪些免配置工作,有利于我们更好的拓展学习。那么我就把自己整理的教程步骤分享下。

1、新建项目。使用Maven构建新建项目。

Spring MVC配置JSP及配置thymeleaf_第3张图片

一直下一步,新建后的结构如下:

Spring MVC配置JSP及配置thymeleaf_第4张图片

2、配置Tomcat及完善目录结构。

Spring MVC配置JSP及配置thymeleaf_第5张图片

Spring MVC配置JSP及配置thymeleaf_第6张图片

在WEB-INF文件夹下新建两个xml配置文件,一个是applicationContext.xml:



    

一个是dispatcher-servlet.xml:



    
    
    
    
    
    
    
    
    
    
    
    
        
        
        
        
    

配置完善web.xml:




  Archetype Created Web Application

  
  
    /views/view/index.jsp
    
  

  
  
    springMVC
    org.springframework.web.servlet.DispatcherServlet
    
      
      contextConfigLocation
      /WEB-INF/dispatcher-servlet.xml
    
    1
    true
  
  
    springMVC
    /
  
  
  
    contextConfigLocation
    /WEB-INF/applicationContext.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  

接下来完善pom.xml,引入相关包文件,我们这里把后面要用到的thymeleaf也引入了:




    4.0.0

    com.web.mvc
    SpringMVC
    1.0-SNAPSHOT
    war

    SpringMVC Maven Webapp
    
    http://www.example.com

    
        UTF-8
        1.7
        1.7
        4.3.3.RELEASE
        3.0.2.RELEASE
    

    
        
            junit
            junit
            4.11
            test
        

        
        
            javax.servlet
            javax.servlet-api
            3.1.0
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
            javax.servlet
            jstl
            1.2
        

        
        
            org.springframework
            spring-core
            ${spring.version}
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        

        
            org.thymeleaf
            thymeleaf-spring4
            ${thymeleaf.version}
        
        
            org.thymeleaf
            thymeleaf
            ${thymeleaf.version}
        

        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        

    

    
        SpringMVC
        
            
                
                    maven-clean-plugin
                    3.0.0
                
                
                
                    maven-resources-plugin
                    3.0.2
                
                
                    maven-compiler-plugin
                    3.7.0
                
                
                    maven-surefire-plugin
                    2.20.1
                
                
                    maven-war-plugin
                    3.2.0
                
                
                    maven-install-plugin
                    2.5.2
                
                
                    maven-deploy-plugin
                    2.8.2
                
            
        
    

完善目录结构后如图:

Spring MVC配置JSP及配置thymeleaf_第7张图片

接下来配置下相关文件夹,如源码文件夹,和资源文件夹:Spring MVC配置JSP及配置thymeleaf_第8张图片

通过以上配置就可以访问我们的index.jsp了。

Spring MVC配置JSP及配置thymeleaf_第9张图片

我们再写个Controller,通过Controller访问index.jsp页面。

package com.web.mvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/p")
public class BaseController {
    @RequestMapping("/getPage")
    public String getPage(Model model) {
        return "view/index";
    }
}

运行后,通过Controller地址访问:

Spring MVC配置JSP及配置thymeleaf_第10张图片

那么我们配置Spring MVC与JSP页面就完成了。

接下来,我们配置下Spring MVC与thymeleaf模板引擎。这是如果使用thymeleaf模板引擎就要把jsp的模型视图解析器配置注视掉。

修改dispatcher-servlet.xml为:



    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
        
        
        
    

    
        
        
    

    
        
        
        
        
    

编写我们的page.html文件:




    
    Insert title here




修改编写Controller:

package com.web.mvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/p")
public class BaseController {
    @RequestMapping("/getPage")
    public String getPage(Model model) {
        return "view/index";
    }

    @RequestMapping(value = "/page", method = RequestMethod.GET)
    public String page(Model model) {
        model.addAttribute("text", "This is MyTest page with Thymeleaf!");
        return "page";//return "page.html"需要配置
    }
}

然后运行:

Spring MVC配置JSP及配置thymeleaf_第11张图片

这样,Spring MVC和thymeleaf就配置好了。

如果想实现thymeleaf和jsp双模板引擎的话,dispatcher-servlet.xml部分内容修改为这样:


    
        
        
    

    
        
        
        
    
    
        
    
    
        
        
        
    

关键地方:


而不是原来的:

还有一点需要注意的是:

Spring MVC配置JSP及配置thymeleaf_第12张图片

这句话如果不注释的话,那么下图这句就要注释掉:

Spring MVC配置JSP及配置thymeleaf_第13张图片

然后Controller的return写法也要修改下,从原来的:

return "page";

改为:

return "page.html";

项目Github地址为:https://github.com/jaychou2012/SpringMVC

你可能感兴趣的:(Java,Web)