Head First Servlets&Jsp 读书摘记9——【部署】

据说,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);

部署章节采摘结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值