xml配置
创建一个Servlet类用于测试
package Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class ServletTest01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setHeader("Content-Type","application/json;charset=UTF-8");//设置编码格式
resp.getWriter().println("这是以xml的方式配置");
}
}
servlet的xml配置方式即创建servlet类后需要通过web目录下WEB-INF下的xml文件进行配置,
xml配置方式的url-pattern定义的匹配规则如下:
精确匹配 /具体的名称(如ServletTest01) 只有url路径是具体的名称时才会触发
例如:
之后通过http://localhost:8080/MavenWebTest01_war//ServletTest01即可访问ServletTest01
后缀匹配 *.xxx 只要是以xxxx结尾的就能触发Servlet
例如:
通过访问http://localhost:8080/MavenWebTest01_war/aaa.ServletTest即可访问ServletTest01
通配符匹配 /* 匹配所有请求,包含服务器里面的所有资源
/ 匹配所有请求,包含服务器里面的所有资源,不包含.jsp
例如:
通过访问http://localhost:8080/MavenWebTest01_war/即可访问ServletTest01
但如果其他的url-pattern还写了精确匹配的话,那么输入他具体地址访问的将是精确匹配对应的Servlet。
注解配置
Servlet还可以通过注解的方式配置
创建一个ServletTest02
package Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/test")//"/test"为要访问的地址
public class ServletTest02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setHeader("Content-Type","application/json;charset=UTF-8");//设置编码格式
resp.getWriter().println("这是以xml的方式配置");
}
}
通过访问http://localhost:8080/MavenWebTest01_war/test即可访问ServletTest02
注:xml与注解的方式配置两者并不冲突。