servlet中Tomcat访问浏览器时的常见错误

出现404

  • 错误原因1:少写了Context Path(/first-demo)
    在这里插入图片描述
  • 错误原因2:少写了Servlet Path
    在这里插入图片描述
  • 错误原因3:Servlet Path 写的和 URL 不匹配
    在这里插入图片描述
    在这里插入图片描述
  • 错误原因4:web.xml 写错了
    清除web.xml中的内容
    在这里插入图片描述
    重启Tomcat服务器,用过浏览器访问正确的URL,可以看到
    在这里插入图片描述
    而在Tomcat启动时也有相关的错误提示

出现405 (Method Not Allowed)

405 表示对应的 HTTP 请求方法没有实现,客户端的问题(URL对应的资源存在,但方法不对)

  • 错误原因:没有实现 doGet 方法.

    //方式一:不重写doGet()方法
    @WebServlet("/first")
    public class FirstServlet extends HttpServlet {
    }
    
    //方式二:直接调用父类的doGet()方法(同上)
    //一个类没有重写父类的方法,则直接调用的就是父类的方法
    @WebServlet("/error-method")
    public class ErrorMethodServlet extends HttpServlet {
        @Override
         protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            super.doGet(req, resp);
         }
    }
    
    //方式三
    @WebServlet("/error-method")
    public class ErrorMethodServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/plain");
        resp.getWriter().println("我是处理/error-method的POST方法的");
    }
    

    重启 Tomcat 服务器. 在浏览器中访问, 可以看到:
    在这里插入图片描述
    在浏览器地址栏直接输入 URL , 会发送一个 HTTP GET 请求.
    此时就会根据 /first-demo/first 这个路径找到 FirstServlet 这个类. 并且尝试调用FirstServlet 的 doGet 方法.
    但是如果没有实现 doGet 方法, 就会出现上述现象

想通过post方法访问某个资源:

  1. 通过form表单,指定method 属性
  2. 通过js 的代码做到

form表单

  <form method="post" action="error-method">
      <button>通过post方法访问/first-demo/error-method</button>
  </form>

在这里插入图片描述
在这里插入图片描述

出现500(前提是:URL对应的资源存在)

往往是 Servlet 代码中抛出异常导致的
在这里插入图片描述
在这里插入图片描述

出现“空白页面”

  • 错误实例:修改代码, 去掉 resp.getWritter().write() 操作

    @WebServlet("/first")
    public class FirstServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        }
    }
    

    在这里插入图片描述

出现“无法访问此页面”

一般是 Tomcat 启动就失败了
错误实例:代码中Servlet Path 写错了
在这里插入图片描述
在这里插入图片描述

凡是看到了HTTP响应了(无论是1XX、2XX、3XX、4XX、5XX)
意味着一定有一个Web服务器应答浏览器了,否则是不会看到HTTP响应了。

工具(定位和确定问题)

  1. 浏览器的报错信息(无法连接、404、500、异常信息)
  2. Tomcat打印的日志信息(我们自己添加打印等工作)
  3. 浏览器的开发者工具元素面板((HTML、CSS)、网络面板(HTTP)、前端调试器面板(JS)、控制台面板(JS)
  4. IDEA的调试器(调试后端)
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值