在web.cofnig中servlet的配置主要分两部分:
一、声明servlet,设置servlet名称,实现类,及初始化参数等,如下所示:
<servlet> <servlet-name>servlet名称</servlet-name> <servlet-class>servlet实现类,包括package</servlet-class> <init-param> <param-name>参数名称1</param-name> <param-value>参数值1</param-value> </init-param> <init-param> <param-name>参数名称2</param-name> <param-value>参数值2</param-value> </init-param> </servlet>
其中的初始化参数,可以在在servlet.init方法中ServletConfig参数中获取,如下所示:
@Override public void init(ServletConfig cfg)throws ServletException{ Enumeration names = cfg.getInitParameterNames(); while(names.hasMoreElements()){ String name = (String)names.nextElement(); System.out.println(name+":"+cfg.getInitParameter(name)); } }
二 、配置servlet url映射,如下所示:
<servlet-mapping> <servlet-name>Servlet名称</servlet-name> <url-pattern>URL路径</url-pattern> </servlet-mapping>
一般以/开头,表示web app的根目录开始的位置,例如/servlet/Hello,则在浏览器中输入http://localhost:8080/APPName/servlet/Hello,则会调用名称为Hello的servlet
通配符*代表任何路径,例如刚才的配置变为/servlet2/*,则http://localhost:8080/APPName/servlet2,http://localhost:8080/APPName/servlet2/aaaa,http://localhost:8080/APPName/servlet2/bbbb都会调用名为Hello的servlet