zoukankan      html  css  js  c++  java
  • Spring Boot gradle 集成servlet/jsp 教程及示例

     

    1、build.gradle 配置

    注意,加入了war插件,在依赖中加入了jstl、tomcat-embed-jasper,这样才能运行jsp页面。

    buildscript {
        ext {
            springBootVersion = '1.5.3.RELEASE'
        }
        repositories {
            maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        }
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    }
    apply plugin: 'java'
    apply plugin: 'idea'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'war'
    
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = 1.8
    repositories {
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
    }
    dependencies {
        compile 'jstl:jstl:1.2'
        compile 'org.apache.tomcat.embed:tomcat-embed-jasper'
        compile('org.springframework.boot:spring-boot-starter-web')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    }

    2、spring boot 入口文件配置

    注意:继承SpringBootServletInitializer,开启@ServletComponentScan

    @SpringBootApplication
    @ServletComponentScan
    public class DemoApplication extends SpringBootServletInitializer {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(DemoApplication.class);
        }
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }

    3、servlet/jsp 的正确姿势


    文件布放图

    3.1、servlet

    注意:使用了@WebServlet配置页面访问地址,访问jsp页面需要使用完整的相对路径/WEB-INF/jsp/index.jsp

    @WebServlet( urlPatterns = {"/index"})
    public class Index extends HttpServlet {
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws ServletException, IOException {
            doGet(req, resp);
        }
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            request.getRequestDispatcher("/WEB-INF/jsp/index.jsp").forward(request, response);
        }
    }

    3.2、controller方式使用jsp

    注意:配合application.properties配置,可以使用简化的jsp路径

    ①application.properties配置

    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp

    ②controller编写

    @Controller
        public class HelloController {
            @RequestMapping("/index1")
            public ModelAndView index(ModelAndView view) {
                view.setViewName("index");
                return view;
            }
        }

    4、运行方法

    右键入口文件直接运行
    bootRun
    执行gradle build,java -jar xxx.war

    5、完整实例代码

    https://github.com/weibaohui/springboot-servlet-jsp-war-demo

  • 相关阅读:
    收银钱箱弹出设置
    IOS4.0 实例练习时钟
    mysql 日期查询操作 copy
    ios 学习笔记 2
    SVN 不能移动 xx\entries 到 xx\entries
    做一个基于PHPCMS V9架构的商城
    基于JDBC API 的事务管理代码示例
    mysql 数据类型
    Discuz!NT CreditsOperationType
    spring 事务传播行为
  • 原文地址:https://www.cnblogs.com/lykbk/p/aefwefsdf235435345.html
Copyright © 2011-2022 走看看