当前位置: 首页 > news >正文

Servlet2.0

文章目录

    • 更方便的部署方式
      • 安装插件
      • 使用插件
      • 验证程序
    • 常见访问出错的解决方案
      • 404错误
      • 405错误
      • 500错误
      • 空白页面
      • 无法访问此网站

在文章 Tomcat+Servlet初识中,我们通过七个大的步骤才可以完成一个简单的Servlet程序,这个过程无疑是非常繁琐的,那么我们有没有什么办法可以适当的简化这样一个流程呢?答案当然是肯定的,首先一劳永逸的方法自然就是java提供给我们的SpringBoot框架,关于框架的知识我们将在后面慢慢了解,这里我们就尝试借助一些简单的插件来完成我们的需求~

更方便的部署方式

安装插件

我们的整个流程共有七大步,除去我们创建项目的前三步以及编写代码的第四步,我们可以简化的就是打包程序加部署程序的五六步,我们可以借助IDEA的一个插件来完成;

插件的安装流程如下:
点击File->Settings ;
在这里插入图片描述

来到如下所示的界面,点击Plugins后在输入框中输入smart tomcat,就可以看到需要安装的插件 ;
在这里插入图片描述

下面是安装成功的界面 ;

在这里插入图片描述
这里安装smart tomcat插件的功能,主要就是可以直接在idea中调用tomcat,也就省去了我们打包程序和将程序部署到tomcat目录中去的这样一个过程;

使用插件

具体的使用流程如下:

点击这里的Add按钮;
在这里插入图片描述
点击+号,选择我们安装好的smart tomcat插件;

在这里插入图片描述
进行相关配置;
在这里插入图片描述

上述操作顺利完成之后,之前的Add按钮处就会如下显示:
在这里插入图片描述

然后,我们就可以使用插件,在IDEA中直接调用tomcat了;

验证程序

点击程序启动按钮(绿色的小三角)即可~
控制台有如下显示时,就表示tomcat启动成功:
在这里插入图片描述
在浏览器中构造请求,验证程序:

在这里插入图片描述

请求路径中的servlet_demo1就是前面配置时的Context Path,hello就是代码中注解的内容~

这样,我们每次修改代码之后,就不再需要重复地进行打包部署的操作,而是直接重新在idea中启动程序即可~

常见访问出错的解决方案

在使用浏览器构造请求时,可能稍不注意就会访问出错,得不到我们想要的结果,下面是一些常见的错误以及解决方法;

404错误

表示用户访问的资源不存在,大概率是请求路径的问题;
在这里插入图片描述
排查思路:

  • 检查路径中Context Path与配置中的Context Path是否一致;
  • 检查路径中servlet Path与程序中注解的内容是否对应;
  • web.xml中的内容有误,检查其中的内容;

出现404的主要原因还是请求的路径有误,可以着重排查相关部分;

405错误

405错误一般指指定的请求方法不能被用于请求响应的资源,简单来说就是HTTP请求方法没有正确实现;

在这里插入图片描述
排查思路:

  1. 检查代码中是否实现了相关方法(doGet/doPost);
  2. 代码正确实现,但没有删掉自带的调用父类方法的代码;
    在这里插入图片描述

500错误

500错误表示服务器内部错误,一般是代码抛出异常带来的错误;

在这里插入图片描述

大概率是代码执行错误,程序抛出了异常,可以根据提示的错误信息检查代码逻辑~

空白页面

在这里插入图片描述

大概率是没有调用或者没有正确调用write()方法,返回的请求中body中数据为空~

无法访问此网站

在这里插入图片描述

大概率是tomcat没有启动成功~

编写servlet程序容易出现的错误大致就是以上这些啦,可以根据实际情况结合日志以及抓包结果具体分析,希望我们的程序执行顺利,生活也顺利吖~

over!

http://www.lryc.cn/news/39729.html

相关文章:

  • 【c++】继承
  • minio安装配置和使用(二)客户端安装
  • 【如何使用Arduino设置GRBL和控制CNC机床】
  • 项目测试——博客系统
  • 【C习题】经典数组与指针面试题(万字)
  • 【ArcGIS Pro二次开发】(13):ProWindow的用法
  • HTML/CSS/JS 基本语法
  • 对于从事芯片行业的人来说,有哪些知识是需要储备的?
  • 测试场景设计
  • 《重构》增强代码可读性
  • 数据分析自学路线
  • 蓝桥杯C++组怒刷50道真题
  • 【期末小作业】HTML、CSS前端静态网页
  • Windows逆向安全(一)之基础知识(二)
  • Python 基础教程【2】:条件语句和循环语句
  • 【React避坑指南】useEffect 依赖引用类型
  • Android binder通信实现进程间通信
  • 2023年BeijngCrypt勒索病毒家族最新变种之.halo勒索病毒
  • 【LeetCode】BM1 反转链表、NC21 链表内指定区间反转
  • 拼多多24届暑期实习真题
  • JS高级知识总结
  • Jenkins+Docker+Maven+gitlab实现自动构建、远程发布
  • centos7克隆虚拟机完成后的的一些配置介绍
  • C语言/动态内存管理函数
  • 华为OD机试题,用 Java 解【任务调度】问题
  • 河南农业大学2023春蓝桥杯赛前训练第一场
  • docker-dockerfile
  • 【JavaEE】浅识进程
  • Java_Spring:1. Spring 概述
  • 使用Maven实现第一个Servlet程序