以下是在web.xml中配置Servlet映射以及使用注解配置的方法:
在web.xml中配置Servlet映射
- 注册Servlet :
- 在web.xml文件中,使用
<servlet>
元素来注册Servlet。 - 在
<servlet>
元素内,使用<servlet-name>
子元素设置Servlet的名称,该名称在整个应用中必须唯一。 - 使用
<servlet-class>
子元素指定Servlet的完全限定类名,即包含包名的完整类名。 - 可使用
<init-param>
子元素将初始化参数名和参数值传递给Servlet;还可使用<load-on-startup>
元素设置Servlet的加载顺序,值为整数,小的会被先加载,若为空或负值,则由Web容器决定什么时候加载Servlet。
- 在web.xml文件中,使用
- 映射Servlet路径 :
- 使用
<servlet-mapping>
元素来映射已注册的Servlet的对外访问路径。 - 在
<servlet-mapping>
元素内,使用<servlet-name>
子元素指定要映射的Servlet的名称,必须与<servlet>
元素中声明的<servlet-name>
一致。 - 使用
<url-pattern>
子元素指定相对于Servlet的URL路径,该路径是相对于web应用程序上下文的根路径,它定义了客户端请求的URL模式,当请求的URL与该模式匹配时,将由对应的Servlet处理请求。
- 使用
以下是一个在web.xml中配置Servlet映射的示例:
xml
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.example.MyServletClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
</web-app>
使用注解配置Servlet映射
在Servlet类上使用@WebServlet
注解来配置Servlet映射。主要属性如下:
value
或urlPatterns
属性 :用于指定Servlet的访问路径,可以是一个字符串数组,表示可以把一个Servlet映射到多个访问路径,但value
和urlPatterns
不能同时使用。name
属性:指定Servlet的名称,若不指定,则默认值为Servlet的类完整名称。loadOnStartup
属性:标记容器是否在启动应用时就加载Servlet,默认不配置或数值为负数时,表示客户端第一次请求Servlet时再加载;0或正数表示启动应用就加载,在正数情况下,数值越小,加载该Servlet的优先级越高。
以下是使用@WebServlet
注解配置Servlet的示例:
java
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
@WebServlet("/myServlet")
public class MyServlet extends HttpServlet {
// Servlet的处理逻辑
}
还可以使用更多属性进行配置,示例如下:
java
@WebServlet(
name = "Hello",
urlPatterns = {"/hello.view"},
loadOnStartup = 1
)
public class HelloServlet extends HttpServlet {
// Servlet的处理逻辑
}