Web应用部署
Web应用部署
?
?
一、Web应用在IDE中的目录结构
<!--EndFragment-->
注意:如果将JSP放在WEB-INF目录下,测用户不可以直接访问该页面,但是在容器内部可以直接访问该页面。
二、一些常见的DD配置
1、Servlet映射
<servlet>
<servlet-name>Beer</servlet-name>
<servlet-class>com.example.BeerSelect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Beer<servlet-name>
<url-pattern>/Beer/SelectBeer.do</url-pattern>
</servlet-mapping>
客户发送请求与<url-pattern>里面的内容匹配,然后找到<servlet-mapping>里面的<servlet-name>,根据这个值到<servlet>里面寻找和该<servlet-name>值相同的<servlet-name>,然后执行对应的<servlet-class>。
2、在DD中配置欢迎文件
<web-app....>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<web-app>
注意:页面直接文件名即可,不能以“/”开头或结束。
3、在DD中配置错误页面
(1)声明一个普通型错误页面
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/errorPage.jsp</location>
<error-page>
(2)为明确的异常页面声明一个错误页面
<error-page>
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/arithmeticException.jsp</location>
<error-page>
(3)根据一个HTTP状态码声明错误页面
<error-page>
<exception-code>404</exception-code>
<location>/notFoundError.jsp</location>
<error-page>
4、在DD中配置servlet初始化
<servlet>
<servlet-name>Beer</servlet-name>
<servlet-class>com.example.BeerSelect</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
注意:只要数字大于0,就表示在部署时或者服务器启动时初始化这个servlet,而不是等到第一个请求到来时才初始化。数值越小越先加载。
5、与EJB有关的DD标记
(1)本地bean的引用
<ejb-local-ref>
<ejb-ref-name>ejb/Customer</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.baidu.CustomerHome</local-home>
<local>com.baidu.Customer</local>
</ejb-local-ref>
(2)远程bean的引用
<ejb-ref>
<ejb-ref-name>ejb/Customer</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.baidu.CustomerHome</home>
<remote>com.baidu.Customer</remote>
</ejb-ref>
6、JNDI <env-entry>的DD标记
<env-entry>
<env-entry-name>rates/discountRate</env-entry-name>
<env-entry-name>java.lang.Integer</env-entry-name>
<env-entry-value>10</env-entry-value>
</env-entry>
?