config隐含对象转换为Servlet之后,对应于javax.servlet.ServletConfig 类型的对象,ServletConfig 是有关于Servlet设定信息的对象,要了解ServletConfig,不免要牵涉到对web.xml中Servlet的注册名称之了解。 到目前为止在执行JSP网页时,并不用在web.xml中设定任何的信息,对于每一个JSP网页的执行,它们默认的Servlet注册名称是jsp,您可以为每一个JSP网页注册一个Servlet名称,并设定URL-Pattern对应,对每一个拥有注册名称的Servlet, Container会为该名称产生一个实例,这个实例可以拥有自己的初始参数设定。 先来看看如何设定JSP网页对应的Servlet注册名称,并设定一些初始参数,首先我们设定web.xml,在当中加入一些标签设定:
... <servlet>标签用来设定有关于Servlet的设定,<servlet-name>设定 Servlet注册名称,这个注册名称产生的实例来自于configtest.jsp转换后的Servlet类,也就是<jsp- file>所设定的内容,<init-param>用来设定初始参数,<param-name>是参数名称,而< param-value>是对应于参数名称的参数值。 <servlet-mapping>用来设定Servlet注册名称的别名,您将JSPConfigTest这个注册名称对应至 JSPConfigTest.html,如您所见的,您可以使用别名来隐藏网页所使用的技术细节,增加网页的安全性,浏览这个网页的使用者,也许完全不会 知道这个网页使用了JSP技术。 假设您的Web应用程序是在webapps/myjsp/下,如果使用以下的网址来浏览的话: http://localhost:8080/myjsp/JSPConfigTest.html
那么实际上会调用注册名称JSPConfigTest所对应的JSP文件,也就是configtest.jsp,假设这个网页的内容如下:
... getServletName()可以取得Servlet的注册名称,而getInitParameter()可以取得指定的初始参数设定值,您也可以试着使用getInitParameterNames()来取得所有的初始参数名称,下面是网页的执行结果: Servlet Name: JSPConfigTest
Initial count: 100 |