|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开web|xml|把持1界说头和根元素
部署形貌符文件就像一切XML文件一样,必需以一个XML头入手下手。这个头声明可使用的XML版本并给出文件的字符编码。
DOCYTPE声明必需当即呈现在此头以后。这个声明告知服务器合用的servlet标准的版本(如2.2或2.3)并指定办理此文件其他部份内容的语法的DTD(DocumentTypeDefinition,文档范例界说)。
一切部署形貌符文件的顶层(根)元素为web-app。请注重,XML元素不像HTML,他们是巨细写敏感的。因而,web-App和WEB-APP都是分歧法的,web-app必需用小写。
2部署形貌符文件内的元素序次
XML元素不但是巨细写敏感的,并且它们还对呈现在其他元素中的序次敏感。比方,XML头必需是文件中的第一项,DOCTYPE声明必需是第二项,而web-app元素必需是第三项。在web-app元素内,元素的序次也很主要。服务器纷歧定强迫请求这类序次,但它们同意(实践上有些服务器就是如许做的)完整回绝实行含有序次不准确的元素的Web使用。这暗示利用非尺度元素序次的web.xml文件是不成移植的。
上面的列表给出了一切可间接呈现在web-app元素内的正当元素所必须的序次。比方,此列表申明servlet元素必需呈现在一切servlet-mapping元素之前。请注重,一切这些元素都是可选的。因而,能够省略失落某一元素,但不克不及把它放于不准确的地位。
liconicon元素指出IDE和GUI工具用来暗示Web使用的一个和两个图象文件的地位。
ldisplay-namedisplay-name元素供应GUI工具大概会用来标志这个特定的Web使用的一个称号。
ldescriptiondescription元素给出与此有关的申明性文本。
lcontext-paramcontext-param元素声明使用局限内的初始化参数。
lfilter过滤器元素将一个名字与一个完成javax.servlet.Filter接口的类相干联。
lfilter-mapping一旦定名了一个过滤器,就要使用filter-mapping元素把它与一个或多个servlet或JSP页面相干联。
llistenerservletAPI的版本2.3增添了对事务监听程序的撑持,事务监听程序在创建、修正和删除会话或servlet情况时失掉关照。Listener元素指失事件监听程序类。
lservlet在向servlet或JSP页面制订初始化参数或定制URL时,必需起首定名servlet或JSP页面。Servlet元素就是用来完成此项义务的。
lservlet-mapping服务器通常是servlet供应一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。可是,经常会变动这个URL,以便servlet能够会见初始化参数或更简单地处置绝对URL。在变动缺省URL时,利用servlet-mapping元素。
lsession-config假如某个会话在必定工夫内未被会见,服务器能够丢弃它以节俭内存。可经由过程利用HttpSession的setMaxInactiveInterval办法明白设置单个会话对象的超时价,大概可使用session-config元素制订缺省超时价。
lmime-mapping假如Web使用具有想到特别的文件,但愿能包管给他们分派特定的MIME范例,则mime-mapping元素供应这类包管。
lwelcom-file-listwelcome-file-list元素唆使服务器在收到援用一个目次名而不是文件名的URL时,利用哪一个文件。
lerror-pageerror-page元素使得在前往特定HTTP形态代码时,大概特定范例的非常被抛出时,可以制订将要显现的页面。
ltaglibtaglib元素对标志库形貌符文件(TagLibraryuDescriptorfile)指定别号。此功效使你可以变动TLD文件的地位,而不必编纂利用这些文件的JSP页面。
lresource-env-refresource-env-ref元素声明与资本相干的一个办理对象。
lresource-refresource-ref元素声明一个资本工场利用的内部资本。
lsecurity-constraintsecurity-constraint元素制订应当回护的URL。它与login-config元素团结利用
llogin-config用login-config元从来指定服务器应当如何给试图会见受回护页面的用户受权。它与sercurity-constraint元素团结利用。
lsecurity-rolesecurity-role元素给出平安脚色的一个列表,这些脚色将呈现在servlet元素内的security-role-ref元素的role-name子元素中。分离地声明脚色可以使初级IDE处置平安信息更加简单。
lenv-entryenv-entry元素声明Web使用的情况项。
lejb-refejb-ref元素声明一个EJB的主目次的援用。
lejb-local-refejb-local-ref元素声明一个EJB的当地主目次的使用。
3分派称号和定制的UL
在web.xml中完成的一个最多见的义务是对servlet或JSP页面给着名称和定制的URL。用servlet元素分派称号,利用servlet-mapping元素将定制的URL与刚分派的称号相干联。
3.1分派称号
为了供应初始化参数,对servlet或JSP页面界说一个定制URL或分派一个平安脚色,必需起首给servlet或JSP页面一个称号。可经由过程servlet元素分派一个称号。最多见的格局包含servlet-name和servlet-class子元素(在web-app元素内),以下所示:
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>moreservlets.TestServlet</servlet-class>
</servlet>
这暗示位于WEB-INF/classes/moreservlets/TestServlet的servlet已失掉了注册名Test。给servlet一个称号具有两个次要的寄义。起首,初始化参数、定制的URL形式和其他定制经由过程此注册名而不是类名援用此servlet。其次,可在URL而不是类名中利用此称号。因而,使用方才给出的界说,URLhttp://host/webAppPrefix/servlet/Test可用于http://host/webAppPrefix/servlet/moreservlets.TestServlet的场合。
请记着:XML元素不但是巨细写敏感的,并且界说它们的序次也很主要。比方,web-app元素内一切servlet元素必需位于一切servlet-mapping元素(下一大节先容)之前,并且还要位于5.6节和5.11节会商的与过滤器或文档相干的元素(假如有的话)之前。相似地,servlet的servlet-name子元素也必需呈现在servlet-class之前。5.2节"部署形貌符文件内的元素序次"将具体先容这类必须的序次。
比方,程序清单5-1给出了一个名为TestServlet的复杂servlet,它驻留在moreservlets程序包中。由于此servlet是扎根在一个名为deployDemo的目次中的Web使用的构成部分,以是TestServlet.class放在deployDemo/WEB-INF/classes/moreservlets中。程序清单5-2给出将安排在deployDemo/WEB-INF/内的web.xml文件的一部分。此web.xml文件利用servlet-name和servlet-class元素将称号Test与TestServlet.class相干联。-1和-2分离显现使用缺省URL和注册名挪用TestServlet时的了局。
程序清单5-1TestServlet.java
packagemoreservlets;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
/**Simpleservletusedtoillustrateservletnaming
*andcustomURLs.
*<P>
*TakenfromMoreServletsandJavaServerPages
*fromPrenticeHallandSunMicrosystemsPress,
*http://www.moreservlets.com/.
* |
|