Servlet是由Web服务器调用,web服务器在收到浏览器请求之后,会:

我们点击web.xml,如下所示:

-
-
-
-
hello -
/hello -
-
-
hello -
/hello -
-
-
hello -
/hello2 -
-
-
hello -
/hello3 -
-
-
hello -
/hello4 -
-
-
hello -
/hello5 -
我们运行之后进行查看:

我们发现,我们选择不同的路径,都是可以进入到这个页面的。
我们将通配符*运用到路径里面来进行查看效果:
-
-
-
-
hello -
/hello/* -
之后我们重新运行之后,出现无论hello后面的路径是什么,都可以进入该界面:


只写一个hello也可以进入该界面。
- <--默认请求路径-->
-
hello -
/* -
之后我们选择进行重启,如下所示:

我们通过网址可以看到,我们再进index.jsp了,我们没有进入首页。所以尽量不要这样子去写。
-
-
hello -
*.rgf -
我们重新启动,进入如下所示:

我们创建一个ErrorServlet:

之后我们进行编辑该类:
- package com.rgf.servlet;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.io.PrintWriter;
-
- public class ErrorServlet extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- resp.setContentType("text/html");
- resp.setCharacterEncoding("utf-8");
-
- PrintWriter writer = resp.getWriter();
- writer.print("
404
"); - }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doGet(req, resp);
- }
- }
里面的setContentType在开发者工具里面找到:

之后,我们编辑web,xml里面的文件:(将该文件添加进去)
-
-
-
error -
com.rgf.servlet.ErrorServlet -
-
-
error -
/* -
我们运行之后如下所示:

我们判断看后面加hello最后进入哪个页面:
我们发现hello也属于/*,但是我们进入hello的界面。
指定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求;