用如下模式来构造从客户端访问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。
文章来源于领测软件测试网 https://www.ltesting.net/