Servlet路径映射配置
要使Servlet对象正常的运行,需要进行适当的配置,以告诉Web容器哪个请求调用哪个Servlet对象处理,对Servlet起到一个注册的作用。Servlet的配置信息包含在web.xml文件中,主要通过两步进行配置:
(1)声明Servlet对象
通过< servlet>标签声明一个Servlet对象,在此标签下包含两个主要子元素,为别为< servlet-name>与< servlet-class>,其中< servlet-name>用于指定Servlet的名称,该名称可以是自定义的名称,< servlet-class>用于指定Servlet对象的完整位置,包含Servlet对象的包名和类名。
(2)映射Servlet
由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把Servlet程序映射到一个URL地址上,在web.xml文件中声明Servlet对象后,需要映射Servlet的URL。该操作是使用< servlet-mapping>标签进行配置。< servlet-mapping>标签包含两个子元素,分别为< servlet-name>与< url-pattern>。·,其中< servlet-name>元素与< servlet>标签中的< servlet-name>元素相对应,不可以随意命名。< url-pattern>用于映射访问URL。
例如:
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 3563565034243126713L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println(" <HEAD><TITLE>Servlet实例</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" Servlet实例: ");
out.print(this.getClass());
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servlet/MyServlet</url-pattern>
</servlet-mapping>