• tomcat之静态资源访问


    http://tomcat.apache.org/tomcat-8.0-doc/changelog.html
    https://tomcat.apache.org/tomcat-8.0-doc/ssi-howto.html
    http://tomcat.apache.org/tomcat-8.0-doc/config/resources.html
    https://www.mail-archive.com/users%40tomcat.apache.org/msg99420.html// Tomcat8以下的Alias配置

    https://www.mail-archive.com/search?l=users%40tomcat.apache.org&q=PostResources
    http://mail-archives.apache.org/mod_mbox/tomcat-users/201402.mbox/%3C066F723E14695044B4BA02C550246BE6044434A8@NLBAWEXMBX3.infor.com%3E

    由此总结出一条心得,查问题的路径:Tomcat官方->找到相关标签->批量搜索Google->取得结果最为高效

    例子(Tomcat7或7以下):

    <Context useHttpOnly="true" privileged="true" allowLinking="true" aliases="/static=z:/static,/news=z:/news">
    ...
    Context>
    

    jsp中调用时这样写

    例子(Tomcat8):

    <Context path="" docBase="D:\workspacejava\guess\guessweb\src\main\webapp" reloadable="false" allowLinking="true" privileged="true">
     <Resources>
    	<PostResources base="z:/news" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/news"/>
    	<PostResources base="z:/static" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/static"/>
     Resources>
    Context>
    

    z为:映射的驱动器名称(可在打开计算机里面看到映射网络驱动器)
    base为:待替换目录
    webAppMount为:挂载目录,即:Tomcat遇到以/news开头的替换为base指定的值,其中base指定为z:/news/也可行

    需要在web.xml里面开启SSI,配置为filter模式也可以,两者选其一即可
    也可以直接释放掉Tomcat安装目录下的config下的web.xml配置中的SSI,这个释放和配置在当前项目的web.xml中功能效果是一样的,区别在于一个是全局,一个仅仅针对当前项目
    配置如下:

    <servlet>
      <servlet-name>ssiservlet-name>
      <servlet-class>
        org.apache.catalina.ssi.SSIServlet
      servlet-class>
      <init-param>
        <param-name>bufferedparam-name>
        <param-value>1param-value>
      init-param>
      <init-param>
        <param-name>debugparam-name>
        <param-value>0param-value>
      init-param>
      <init-param>
        <param-name>expiresparam-name>
        <param-value>666param-value>
      init-param>
      <init-param>
        <param-name>isVirtualWebappRelativeparam-name>
        <param-value>falseparam-value>
      init-param>
      <init-param>
        <param-name>inputEncodingparam-name>
        <param-value>UTF-8param-value>
      init-param>
      <init-param>
        <param-name>outputEncodingparam-name>
        <param-value>UTF-8param-value>
      init-param>
      <load-on-startup>4load-on-startup>
    servlet>
    <servlet-mapping>
     <servlet-name>ssiservlet-name>
     <url-pattern>*.shtmlurl-pattern>
    servlet-mapping>
    
  • 相关阅读:
    看完就明白/dev/sda、/dev/hda是什么了
    【vue】vue3中状态管理Pinia(Vuex5)使用快速上手
    Kettle入门到实战
    小米手机用什么耳机音质好?发烧级音质蓝牙耳机推荐
    软件测试个人求职简历该怎么写,模板在这里
    三电系统集成技术杂谈
    基于http-flv的抖音直播端到端延迟优化实践
    Python并发编程之托管对象
    FPGA/SoC控制机械臂
    Rancher - 更换Linux发行版
  • 原文地址:https://blog.csdn.net/ice666_1/article/details/127098001