转载

如何调用Servlet来处理请求

调用Servlet处理请求

一,< servlet>元素及其子元素,声明一个Servlet。

< description>*:为Servlet指定一个文本描述。

< display-name>*:为Servlet提供一个简短的名字被某些工具显示。

< icon>*:为Servlet指定一个图标,在图形管理工具中表示该Servlet。

< servlet-name>:Servlet的名字,唯一性。

< servlet-class>or< jsp-file>:< servlet-class>为Servlet的完整路径。< jsp-file>指定web应用程序中的jsp文件完整路径以/开始对一个jsp文件做URL映射。

< init-param>*:定义Servlet初始化参数。

< description>*:初始化参数文本描述。

< pararm-name>:初始化参数的名字。

< param-value>:初始化参数的值。

< load-on-startup>?:WEB应用程序被启动时,Servlet被加载的顺序。内容为一个整型值。

负数或没有设定这个元素表示Servlet容器将在客户端请求这个Servlet的时候加载它

正数或o表示WEB应用程序被启动时按数值大小由小到大初始化Servlet。

如果同时包含< jsp-file>元素和< load-on-startup>,则jsp文件也被预编译并加载。

< run-as>?:执行组件的角色

< descripttion>:文本描述。

< role-name>:指定执行组件的角色名字。

< security-role-ref>*:声明在组件或部署的组件的代码中的安全角色引用。

< description>*:安全角色文本描述。

< role-name>:使用的安全角色的名字。

< role-line>?:指定到一个安全角色的引用。

二,< servlet-mapping>元素及其子元素,在servlet和url之间定义一个映射。

< servlet-name>:Servlet的名字,唯一性和一致性。与< servlet>元素中声明的名字一致。

< url-pattern>:指定相对于Servlet的URL的路径。该路径相对于web应用程序上下文的根路径。

三,加载Servlet的过程

容器的Context对象对请求路径(URL)做出处理,去掉请求URL的上下文路径后,按路径映射规则和Servlet映射路径(< url-pattern>)做匹配,如果匹配成功,则调用Servlet处理请求。

匹配规则:

请求URL精确匹配,如果成功则调用Servlet处理请求。匹配最长的路径前缀,以/为路径分隔符,按路径树逐级匹配,选择最长匹配的Servlet来处理。如果前面都没有匹配成功,则容器会让WEB应用程序来调用Servlet处理请求。如果没有定义默认Servlet,容器将向客户端发送404(请求资源不存在)错误信息。

正文到此结束
Loading...