您的位置:首页 > Web前端 > JavaScript

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);



(图 No100)(图 No102 多了META-INF目录)
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);

部署章节采摘结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: