美文网首页我爱编程
tomcat下的web.xml和项目中的web.xml

tomcat下的web.xml和项目中的web.xml

作者: 野柳 | 来源:发表于2017-05-25 18:20 被阅读589次

    关于web.xml中的welcome-file-list

    <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list>
    

    这个配置用于配置项目的初始页面。
    输入http://localhost:8080/xpb,自动进入http://localhost:8080/xpnb/index.jsp
    tomcat中的web.xml是通用的,如果不设置,那么就会默认是同tomcat的web.xml,如果你设置了,那么当然是项目下的web.xml中的设置优先权更高一点。

    加载顺序是 
            1、tomcat conf目录下;
            2、项目目录下的;
      tomcat config目录下的为服务器全局作用域,一般用来配置全局设置、数据源等,而项目目录下的为局部作用域。
    

    也可以配置action

     <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>index.action</welcome-file>
    </welcome-file-list>
    

    welcome-file-list的工作原理是,按照welcome-file的.list一个一个去检查是否web目录下面存在这个文件,如果存在,继续下面的工作(或者跳转到index.html页面,或者配置有struts的,会直接struts的过滤工作).如上例,先去webcontent(这里是Eclipse的工程目录根目录)下是否真的存在index.html这个文件,如果不存在去找是否存在index.jsp这个文件,以此类推。
    还要说的是welcome-file不一定是html或者jsp等文件,也可以是直接访问一个action。就像我上面配置的一样,但要注意的是,一定要在webcontent下面建立一个index.action的空文件,然后使用struts配置去跳转,不然web找不到index.action这个文件,会报404错误,原因就是我之前说的那样。
    如果配置了servlet的url-pattern是/*,那么访问localhost:8080/会匹配到该servlet上,而不是匹配welcome-file-list;如果url-pattern是/(该servlet即为默认servlet),如果其他匹配模式都没有匹配到,则会匹配welcome-file-list。

    相关文章

      网友评论

        本文标题:tomcat下的web.xml和项目中的web.xml

        本文链接:https://www.haomeiwen.com/subject/piuzxxtx.html