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

JavaEE初阶---servlet篇(二)(smartTomcat的使用相关错误类型)

文章目录

  • 1.servlet创建项目问题说明
  • 2.SamrtTomcat插件
  • 3.乱码问题的说明
  • 4.其他的错误类型说明
    • 4.1常见错误之404
    • 4.2常见错误之405
    • 4.3常见错误之500
    • 4.4空白页面/无法访问

1.servlet创建项目问题说明

servlet进行这个项目创建的时候,我们的这个web.xml里面的这个内容就是我们的这个对应内容(之前的文章里面有这个),我们复制进来之后,这个页面的左上角会有一个maven的刷新的选项,这个一定要刷新一下;

image-20241103170040119

1.我们的这个自己的java文件不是在这个org.example这个包的下面,而是在 这个java右键进行创建,如果这个位置选错,我们是找不到这个父类的;

2.另外就是我们即使这个位置是对的,上面的这个xml放进去之后,没有点击这个右上角的刷新的选项,这个父类也是感应不出来的(这个也是我自己在时间的过程中遇到的两个问题);

image-20241103170221933

2.SamrtTomcat插件

这个就是我们的一个IDEA里面的插件,我们创建项目的时候不是需要进行打包吗,这个每一次修改都需要重新进行打包,这个就很麻烦,我们的这个samrt插件相当于就是对于我们的这个普通版本的一个优化,优化之后的这个我们可以直接运行,就不用像之前的那样进行打包,打开这个startup.bat程序之类的这个操作;

我们想要使用这个:正常情况下我们的这个左上角是没有这个的,即使我们下载了,我们需要对于这个进行配置之后才会看见;我们点击这个edit configuration这个选项;

image-20241103172111203

下面的这个就是我们添加这个smarttomcat这个内容,首先需要安装这个插件,安装之后我们点击这个加号,在这个列表里面我们就可以看到我们的这个samrttomcat插件;

name就是我们的命名,将来的这个名字就是我们点击运行按钮的名字,这个修改不修改都是没有问题的;

server就是我们的这个tomcat安装的位置,安装包的位置;

path就是我们的一个配置吧,这个使用默认的就行,这个默认就是我们的项目名字(这个将来会使用浏览器输入这个url,这个path就是我们的这个url里面的一个部分);

image-20241103172045304

一切准备就绪之后,我们的这个左上角就是显示的使用这个smart进行运行我们的程序,我们呢运行就可以了;

image-20241103172452762

这个现象很奇怪,让人误以为这个是报错,实际上这个就是我们的日志信息(但是给人一种报错的感觉,我第一次看老师演示的时候就是这个感觉,后来才知道这个就是日志信息罢了);

image-20241103172440121

看到这个蓝色的吗,这个里面的最后就是我们的上面配置的这个path;

我们的这个日志复制,加上我们的代码里面的这个路径,就可以在这个浏览器上面看到这个打印效果,我们的这个resp的这个hello world就是浏览器显示的,system的这个hello world就是显示在我们的日志里面的;

image-20241103172844534

这个里面的路径:

J1103nm7叫做context path即上下文目录;

/hello也叫做servlet path即小程序路径(这个servlet翻译之后就是服务器端小程序);

这个smarttomcat的好处就是我们的这个内容即使是进行修改了,不需要重新打包,直接在这个浏览器上面刷新就可以了;

3.乱码问题的说明

上面我们的这个write后面的这个是英文的,这个时候如果不去进行追究,这个时候是观察不到这个乱码的问题的,但是如果我们把这个write方法里面的这个内容修改为这个中文就会出现乱码,不信的话你可以试试;

这个乱码原因就是我们的这个java里面的内容使用的是这个utf-8进行编码的,但是我们的这个浏览器是默认使用这个gbk进行解析的,因此这个时候就会出现乱码的情况;

我们想要解决这个乱码的问题,只需要在这个代码里面说明,让我们的这个浏览器使用utf-8进行解析,这样就和我们的这个java里面的这个编码的格式是一致的,就可以解决之前出现的这个乱码的问题;

image-20241103185627455

4.其他的错误类型说明

4.1常见错误之404

这个错误的原因可能是下面的两个情况:

1)我们的这个url路径写错了:我们需要知道这个路径是什么构成的,一个是我们的这个主机加上端口号,后面的就是我们的这个smarttomcat上面配置的名字(没有配的话就是我们的创建的项目的名字);

2)我们的这个webapp里面的这个内容写错了:我们创建的这个项目里面有这个webapp目录,这个目录里面是有这个WEB-INF这个目录,下面还是有这个web.xml文件,我们的这个文件里面的这个内容之类的可能是写错了;

4.2常见错误之405

这个错误的原因就是我们的这个方法没有进行实现,就是我们继承的这个父类的里面的这个方法没有进行重写,我们的这个项目里面是需要对于这个父类里面的这个doget之类的这个方法进行重写的,如果没有进行重写就会报错405;

或者是我们使用这个IDEA里面的这个代码自动填充的功能的时候,这个没有修改,因为这个自动填充的是进行这个super之类的调用,但是这个并不是我们想要的;

4.3常见错误之500

这个是我们的服务器内容错误,服务器在哪里,我们的这个idea里面写的这个代码就充当了这个服务器的功能,我们的这个里面的代码逻辑就是对于这个浏览器的请求进行解析,返回这个响应显示在我们的这个客户端浏览器上面,我们的这个服务器的错误会在运行这个tomcat的时候包含在我们的这个日志里面;

4.4空白页面/无法访问

空白页面就可能是我们的这个响应报文没有正常返回,就是我们调用的这个resp.write方法里面的这个参数的内容,这个是应该打印在我们的这个浏览器页面上的;

至于这个无法访问,可能就是因为tomcat没有正常的启动,或者是这个端口号,ip之类的这个原因;

面的这个参数的内容,这个是应该打印在我们的这个浏览器页面上的;

至于这个无法访问,可能就是因为tomcat没有正常的启动,或者是这个端口号,ip之类的这个原因;


http://www.kler.cn/a/384622.html

相关文章:

  • 如何创建备份设备以简化 SQL Server 备份过程?
  • Spring Boot2(Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递 文件上传)
  • 【论文复现】自动化细胞核分割与特征分析
  • 基于C++的决策树C4.5机器学习算法(不调包)
  • pycharm小游戏贪吃蛇及pygame模块学习()
  • 将自己的项目打包成一个docker发布
  • 【智能算法应用】哈里斯鹰算法优化二维栅格路径规划问题
  • CoEdge: 面向自动驾驶的协作式边缘计算系统,实现分布式实时深度学习任务的高效调度与资源优化
  • ruoyi-vue中的mybatis改为mybatis-plus
  • 【数据结构-合法括号字符串】【hard】【拼多多面试题】力扣32. 最长有效括号
  • 阿里云对象存储OSS
  • 恋爱脑学Rust之智能指针Rc,RefCell和Weak指针
  • 重构代码之添加参数
  • [单例模式]
  • 【设计模式系列】桥接模式(十三)
  • LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略
  • uniapp中使用原生ajax上传文件并携带其他数据,实时展示上传进度
  • 外包干了2年,快要废了。。。
  • [Element] el-table修改滚动条上部分的背景色
  • 科比投篮预测——数据处理与分析
  • ES6的Proxy到底是什么?
  • LINUX下的Mysql:Mysql基础
  • 前后端分离中台管理系统
  • BERT的中文问答系统28
  • Golang | Leetcode Golang题解之第540题有序数组中的单一元素
  • 面向对象技术简述(含设计模式)