[Gradle中文教程系列]-跟我学Gradle-8.7.多模块项目之 - spring boot + gradle + 构建公共jsp页面的多模块项目

多模块项目之 - spring boot + gradle + 构建公共jsp页面的多模块项目

标题党!!!!

烹制原理

Servlet 3.1 规范里 jar包中META-INF/resources/下的文件会被视为根目录文件进行正常访问 , 这也就意味着我们可以将某些 静态页面/图片/样式/js 等打到jar包里当做依赖jar包引用 , 像webjars基本就是这么搞的.当然 如果你在搞前后端分离、gulp、webpack什么的这种方式基本也不用考虑了。

Servlet 3.1 中文译本 张开涛 翻译版下载 > 点传送门 <

  • 引用.1

    除了 静态资源和 WEB-INF/lib 目录下打包在 JAR 文件中 META-INF/resources 目录下的 JSP 文件之外,WEB-INF 目录下包含的其他任何文件都不能由容器直接提供给客户端访问。
    serverlet 3.1 规范 - 10.5

  • 引用.2

    1. 添加了从 JAR 文件中加载静态资源和 JSP 的支持,其包含在绑定在 WEB-INF/lib 目录中的 JAR 文件的 META-INF/resources 目录中
      变更历史 A.3
烹制方法
  1. 添加spring boot 依赖,如果不想用变量定义版本号可以直接撸版本号
    compile "org.springframework.boot:spring-boot-starter-web:${bootVersion}",
            "org.apache.tomcat.embed:tomcat-embed-jasper:${tomcat_embed}"
  1. 编写controller
@Controller
@Slf4j
public class TigerCtrl {
    @RequestMapping("/")
    public ModelAndView tiger(){
        log.info("Soft kitty,warm kitty Little ball of fur .");
        return new ModelAndView("tiger","words","Roar ~ Roar ~ ");
    }
}
  1. 编写页面,当然 这里的关键也就是本文的核心技术点就是要把页面文件放到正确的位置即src/main/resources/META-INF/resources下,如果你是传统项目那么META-INF应该在webroot或者webcontent下,当然这种非标准的目录结构会引申出另外一个问题那就是需要通过修改项目属性指定webapp目录.  
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<img alt="j2ee" src="static/duke.jpg" width="190" height="253"/><br/>
<br/>
<%
    String words = String.valueOf(request.getAttribute("words"));
    out.println("Tiger said : " + words);
%>
</body>
</html>
  1. 添加公共jsp页面模块依赖
  compile    project(":webpage")
完整代码

> 点击这里看完整代码 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值