自学内容网 自学内容网

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

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之类的这个原因;


原文地址:https://blog.csdn.net/binhyun/article/details/143490433

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!