Head First Servlets&Jsp 读书摘记9——【部署】
2010-07-01 00:54
411 查看
据说,Web应用终于到了最后的重要时刻了——【部署】,下面是第十一章关于部署的摘记:
100、(上三位数了o(∩_∩)o )要成功部署一个Web应用,必须遵循以下目录结构。
1)WEB-INF一定要直接放在应用上下文之下。
2)classes目录必须直接放在WEB-INF目录中。classes目录中必须是该类的包结构。
3)lib目录要直接置于WEB-INF目录下,JAR文件必须放在lib中。
4)META-INF目录必须是JAR的顶级目录,JAR的TLD文件要放在META-INF目录下的某个位置(不在JAR中的TLD必须放在WEB-INF下某个位置)。
5)标记文件(.tag 或.tagx)必须放在WEB-INF/tags下的某个位置(JAR中须放MATA-INF/tags下某个位置)。如图No100(P576);
101、WAR文件是Web应用结构的一个快照,采用了一种更可移植的压缩形式(它实际上就是一个JAR文件)。
102、当通过把WAR文件放在webapps目录中,在Tomcat中部署Web应用时,Tomcat会解开WAR文件,创建上下文目录,这里只有一个新内容:META-INF目录中有MANIFEST.MF文件。如图No102(P581);
103、把文件放在WEB-INF下就能避免直接访问,或是如果应用部署为一个WAR文件,可以把不允许直接访问的文件放在META-INF下。
104、容器自动地将JAR文件放在其类路径中,就好像放在WEB-INF/classes目录中一样。不过,容器查看WEB-INF/lib中的JAR文件之前,会先查找WEB-INF/classes目录中的类。(P583);
105、三种<url-pattern>元素:
1)完全匹配:<url-pattern>/Bear/SelectBeer.do</url-pattern>(必须/开头)
2)目录匹配:<url-pattern>/Bear/*</url-pattern>(/开头too)
3)扩展名匹配:<url-pattern>*.do</url-pattern>(必须*开头,不能/开头)(P586);
106、有关servlet映射的重要规则:
1)容器会首先查找完全匹配,再查找目录匹配,再找扩展名匹配;
2)如果一个请求与多个目录<url-pattern>匹配,容器会选择最长的匹配,总是取最特定的匹配。(P587);
107、容器如何选择欢迎文件:客户请求:http://www.abc.com/MyTestApp/search
1)容器在DD中寻找servlet映射,没有匹配,容器就会在<welcome-file-list>中查找;
2)容器在MyTestApp/search目录查找一个index.html文件,没找到,但找到default.jsp
3)容器将default.jsp响应提供给客户。(P593);
108、JSP文档——采用了与正常JSP语法对应的XML语法来编写,就成为一个JSP文档。(P597);
109、特殊的DD标记:
1)声明应用的JNDI环境项
<env-entry>
<env-entry-name>rates/discountRate</env-entry-name><!-- 代码中将使用的查找名 -->
<env-entry-type>java.lang.Integer<env-entry-type><!-- 可以是任何类型,只要这种类型取一个String作为构造函数的参数就行 -->
<env-entry-value>10<env-entry-value>
<env-entry>
2)配置扩展名和MIME类型之间的映射
<mime-mapping>
<extension>mpg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
(P600~601);
部署章节采摘结束。
100、(上三位数了o(∩_∩)o )要成功部署一个Web应用,必须遵循以下目录结构。
1)WEB-INF一定要直接放在应用上下文之下。
2)classes目录必须直接放在WEB-INF目录中。classes目录中必须是该类的包结构。
3)lib目录要直接置于WEB-INF目录下,JAR文件必须放在lib中。
4)META-INF目录必须是JAR的顶级目录,JAR的TLD文件要放在META-INF目录下的某个位置(不在JAR中的TLD必须放在WEB-INF下某个位置)。
5)标记文件(.tag 或.tagx)必须放在WEB-INF/tags下的某个位置(JAR中须放MATA-INF/tags下某个位置)。如图No100(P576);
(图 No100) | (图 No102 多了META-INF目录) |
102、当通过把WAR文件放在webapps目录中,在Tomcat中部署Web应用时,Tomcat会解开WAR文件,创建上下文目录,这里只有一个新内容:META-INF目录中有MANIFEST.MF文件。如图No102(P581);
103、把文件放在WEB-INF下就能避免直接访问,或是如果应用部署为一个WAR文件,可以把不允许直接访问的文件放在META-INF下。
104、容器自动地将JAR文件放在其类路径中,就好像放在WEB-INF/classes目录中一样。不过,容器查看WEB-INF/lib中的JAR文件之前,会先查找WEB-INF/classes目录中的类。(P583);
105、三种<url-pattern>元素:
1)完全匹配:<url-pattern>/Bear/SelectBeer.do</url-pattern>(必须/开头)
2)目录匹配:<url-pattern>/Bear/*</url-pattern>(/开头too)
3)扩展名匹配:<url-pattern>*.do</url-pattern>(必须*开头,不能/开头)(P586);
106、有关servlet映射的重要规则:
1)容器会首先查找完全匹配,再查找目录匹配,再找扩展名匹配;
2)如果一个请求与多个目录<url-pattern>匹配,容器会选择最长的匹配,总是取最特定的匹配。(P587);
107、容器如何选择欢迎文件:客户请求:http://www.abc.com/MyTestApp/search
1)容器在DD中寻找servlet映射,没有匹配,容器就会在<welcome-file-list>中查找;
2)容器在MyTestApp/search目录查找一个index.html文件,没找到,但找到default.jsp
3)容器将default.jsp响应提供给客户。(P593);
108、JSP文档——采用了与正常JSP语法对应的XML语法来编写,就成为一个JSP文档。(P597);
109、特殊的DD标记:
1)声明应用的JNDI环境项
<env-entry>
<env-entry-name>rates/discountRate</env-entry-name><!-- 代码中将使用的查找名 -->
<env-entry-type>java.lang.Integer<env-entry-type><!-- 可以是任何类型,只要这种类型取一个String作为构造函数的参数就行 -->
<env-entry-value>10<env-entry-value>
<env-entry>
2)配置扩展名和MIME类型之间的映射
<mime-mapping>
<extension>mpg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
(P600~601);
部署章节采摘结束。
相关文章推荐
- Head First Servlets&Jsp 读书摘记6——【没有脚步的页面】
- Head First Servlets&Jsp 读书摘记3——【作为Web应用】
- Head First Servlets&Jsp 读书摘记12——【模式和Struts】
- Head First Servlets&Jsp 读书摘记4——【会话状态】
- Head First Servlets&Jsp 读书摘记10——【Web应用安全】
- Head First Servlets&Jsp 读书摘记11——【过滤器的威力】
- Head First Servlets&Jsp 读书摘记1——【Web应用体系结构 & 迷你MVC】
- Head First Servlets&Jsp 读书摘记5——【作为JSP】
- Head First Servlets&Jsp 读书摘记2——【作为Servlet】
- Head First Servlets&Jsp 读书摘记7——【JSTL】
- Head First Servlets&Jsp 读书摘记8——【自定义标签】
- Head First Servlets&JSP知识体系
- 向新手推荐《Head First Servlets & JSP》J2EE入门
- Head First Servlets & JSP 学习心得(一)
- Head First Servlet & JSP 学习笔记(1)
- 关于Head First Servlet&Jsp。。
- Head First Jsp&Servlet笔记2 servlet
- Head First Servlet&JSP 读书笔记(一)
- 2.1Head First Servlet & Jsp——请求转发和请求重定向
- 【Head First Servlets and JSP】笔记13:session & cookie