JSP的本质是Servlet,当用户指定Servlet用户指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面,包括每一个静态的HTML标签和所有在HTML页面中出现的内容。
JSP包括如下两部分:
静态部分:标准的HTML标签、静态的页面内容,这些内容与静态HTML页面相同。
动态部分:受Java程序控制的内容,这些内容由Java程序来动态生成。
****不能讲jsp文件放到WEB-INF中,若放到此文件夹中部署的时怎么也找不到
每个web应用的WEB-INF路径下的web.xml文件称为配置描述符,这个web.xml文件对于java web应用十分重要,在Servlet 2.5规范之前,每个JavaWeb应用都必须包含一个web.xml文件,且必须在WEB-INF路径下。
而对于Servlet3.0规范而言,WEB-INF路径下的web.xml文件不再是必需的,但通常还是建议保留该配置文件
对于Java web应用而言,WEB-INF是一个特殊的文件夹,Web容器会包含该文件夹下的内容,客户端浏览器无法访问WEB-INF路径下的任何内容。
在Servlet2.5之前,Java Web 应用的绝大部分组件都通过web.xml文件夹配置管理,Servlet3.0规范可通过Annotation来配置管理Web组件,因此web.xml文件可以改变得更加简洁,这也是Servlet3.0的重要简化。
web.xml文件的根元素<web-app.../>元素,在Servlet3.0规范中,该元素新增了如下属性。
</pre><p></p><p>metadata-complete:该属性接受true或false两个属性值。当该属性值为true值时,该Web应用将不会加载Annotation配置的Web组件(如Servlet、Filter、Listener等)</p><p>在web.xml文件中配置首页使用welcome-file-list元素,该元素能包含多个welcome-file子元素,其中每个welcome-file子元素配置一个首页。例如如下配置片段:</p><p></p><p></p><pre code_snippet_id="1664118" snippet_file_name="blog_20160427_2_2155972" name="code" class="java"> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
上面的配置信息指定该web应用的首页依次是index.html、index.htm和index.jsp,意思是说当Web应用中包含index.html页面时,如果浏览者直接访问该web应用,系统将会把该页面呈现给浏览者;当index.html页面不存在时,则由index.htm页面充当首页,以此类推。
每个Web容器都会提供一个系统的web.xml文件,用于描述所有Web应用共同的配置属性。例如Tomcat的系统web.xml放在Tomcat的conf路径下,而Jetty的系统web.xml文件放在Jetty的etc路径下,文件名为webdefault.xml