|
|
Weblogic6.0部署和配置WEB应用程序(3)
|
URIs与WEB应用程序 用如下模式来构造从客户端访问WEB应用程序的URL: http://hoststring/ContextPath/servletPath/pathInfo 其中 hoststring 或是一个被映射到一虚拟主机的主机名,或是主机名:端口 (hostname:portNumber) ContextPath WEB应用程序的名字 servletPath 被映射到servletPath的一个servlet pathInfo URL的其余部分,典型的是一个文件名 如正使用虚拟主机,可用虚拟主机名来替换URL的hoststring部分。 进一步的信息,参考Weblogic服务器怎样解释HTTP请求。 配置Servlets Servlets被注册和配置成为一个WEB应用程序的一部分。通过给WEB应用程序部署描述符添加几个条目来注册servlet。第一个,在<servlet>元素下定义servlet的名称和执行这个servlet的已编译的类。这个元素也包含这个servlet的初始化参数和安全角色的定义。第二个,在<servlet-mapping>元素下定义调用这个servlet的URL模式。 编辑WEB应用程序部署描述符的完整说明,参考: · 配置WEB应用程序,部署Servlets · 配置WEB应用程序,将servlet映射到URL Servlet映射 Servlet映射控制你如何访问这个servlet。以下的例子示范了在WEB应用程序中可使用的servlet映射的一些方法。在这个例子中,下面列出了一系列的servlet配置和映射,在随后的表(参考url模式和Servlet调用)中列出了用来调用这些servlets的URLs。 Listing 8-1 Servlet映射示例
<servlet> <servlet-name>watermelon</servlet-name> <servlet-class>myservlets.watermelon</servlet-class> </servlet> <servlet> <servlet-name>garden</servlet-name> <servlet-class>myservlets.garden</servlet-class> </servlet> <servlet> <servlet-name>list</servlet-name> <servlet-class>myservlets.list</servlet-class> </servlet> <servlet> <servlet-name>kiwi</servlet-name> <servlet-class>myservlets.kiwi</servlet-class> </servlet> <servlet-mapping> <servlet-name>watermelon</servlet-name> <url-pattern>/fruit/summer/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>garden</servlet-name> <url-pattern>/seeds/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>list</servlet-name> <url-pattern>/seedlist</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>kiwi</servlet-name> <url-pattern>*.abc</url-pattern> </servlet-mapping>
Table 8-1 ur模式和Servlet调用URL 调用的Servlet http://host:port/mywebapp/fruit/summer/index.html watermelon http://host:port/mywebapp/fruit/summer/index.abc watermelon http://host:port/mywebapp/seedlist list http://host:port/mywebapp/seedlist/index.html 默认servlet,如果已经配置的话,或者是一条HTTP 404 file not found错误消息如list servlet的映射是/seedlist*,就会调用list servlet http://host:port/mywebapp/seedlist/pear.abc kiwi如list servlet的映射是/seedlist*,就会调用list servlet http://host:port/mywebapp/seeds garden http://host:port/mywebapp/seeds/index.html garden http://host:port/mywebapp/index.abc kiwi Servlet初始化参数 在WEB应用部署描述符中的<servlet>元素的<init-param>元素中用<param-name>和<param-value>标签定义servlets的初始化参数。例如: Listing 8-2配置 Servlet初始化参数示例
<servlet> <servlet-name>HelloWorld2</servlet-name> <servlet-class>examples.servlets.HelloWorld2</servlet-class> <init-param> <param-name>greeting</param-name> <param-value>Welcome</param-value> </init-param> <init-param> <param-name>person</param-name> <param-value>WebLogic Developer</param-value> </init-param> </servlet>
有关编辑WEB应用程序部署描述符的更多信息,参考编写WEB应用程序部署描述符。 配置JSP 通过将JSP文件放在WEB应用程序的根目录(或根目录下的子目录)里来部署它们。另外的JSP配置参数在weblogic特有的部署描述符(weblogic.xml)的<jsp-descriptor>元素中定义。这些参数定义以下功能: · JSP编译器的选项。 · 调试。 · 服务器检查需重新编译的已更新的JSPs的时间间隔。 · 字符编码。 有关这些参数的完整描述,参考JSP参数名称及值。 有关编辑weblogic.xml文件的说明,参考建立weblogic特有的部署描述符。 配置JSP标签库 Weblogic服务器按照Servlet 2.2规范提供建立和使用JSP标签的能力。定制的JSP标签就是能从JSP页面中调用的Java类。要建立定制JSP标签,需将它们放在标签库中,并在标签库描述符文件(TLD)中定义它们的行为。这个TLD必须在WEB应用程序描述符中定义,这样包含JSP页面的WEB应用程序就可利用它。将TLD文件放在WEB应用程序的WEB-INF目录下是个好主意,这是因为这个目录从不对公众开放。 在WEB应用程序的部署描述符中,需为标签库定义URI模式。URI模式必须与JSP页面中的taglib指令的值相一致。还需定义TLD的位置。例如,在JSP页面中的taglib指令如下: <%@ taglib uri="myTaglib"prefix="taglib"%> 并且TLD位于WEB应用程序的WEB-INF目录中,就应该在WEB应用程序的部署描述符中建立如下条目: <taglib> <taglib-uri>myTaglib</taglib-uri> <tablig-location>WEB-INF/myTLD.tld</taglib-location> </taglib> 有关建立定制JSP标签库的更多信息,参考JSP标签扩展的编程。 Weblogic服务器也包含了几个可在应用程序中使用的定制的JSP标签。这些标签执行缓存,基于参数的流控制,对象集上的迭代。更多信息,参考使用定制的Weblogic JSP标签。 配置初始(Welcome)页面 Weblogic服务器允许设置这样一个页面,这个页面在请求的URL是一个目录时作为默认页面。这个特性使得站点更易于使用,因为用户在输入URL时不必给出特定的文件名。 在WEB应用程序级定义初始页面。如服务器宿主多个WEB应用程序,就需为每个WEB应用程序单独定义不同的初始页面。 要定义初始页面,编辑WEB应用程序部署描述符web.xml。有关更多信息,参考初始文件。 If you do not define Welcome Pages, WebLogic Server looks for the following files in the following order and serves the first one it finds: 如未定义初始页面,Weblogic服务器以下列顺序查找以下文件,并提供它找到的第一个文件: 1. index.html 2. index.htm 3. index.jsp 更多信息,参考Weblogic服务器如何解释HTTP请求。 建立默认的servlet 每个WEB应用程序都有一个默认的servlet。这个默认的servlet,可以自定义,如没有自定义,Weblogic服务器会用一个名为FileServlet的内部servlet作为默认的servlet。有关FileServlet的更多信息,参考Weblogic如何解释HTTP请求。 可将任何servlet注册成为默认的servlet。编写自己的默认servlet,就可使用自己的逻辑来决定如何处理回送给默认servlet的请求。 建立默认的servlet来代替FileServlet时应小心,因为FileServlet被用来为大多数文件提供服务,如文本文件,HTML文件,图像文件等等。如希望自己的默认servlet为这些文件提供服务,就必须将这些功能写进自己的默认servlet。 建立用户定义的默认servlet: 1. 定义自己的servlet(如在配置Servlets中描述一样)。 2. 用”/” url模式映射自己的默认servlet。这样使得自己的默认servlet响应文件的所有类型,除了扩展名是*.htm*或.html类型的文件,因为它们被内部映射到FileServlet。 如也想使自己的默认servlet响应以*.htm或*.html结尾的文件,除“/”映射外,还必须将这些扩展名映射到自己的默认servlet上。有关映射servlets的说明,参考配置Servlets。 3. 如还想FileServlet为其它扩展名的文件服务,将那些文件扩展名映射到FileServlet(除自己的默认servlet的映射外)。例如,要使FileServlet为gif文件服务,映射*.gif到FileServlet。
|
|