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

news2024/11/27 12:45:54

文章目录

  • 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.coloradmin.cn/o/2233581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Centos 网络接口打vlan标签

Centos 网络接口打vlan标签 本次使用给bond打vlan标签,其实其他普通接口也一样 Centos创建bond前需要关闭NetworkManager [root192 network-scripts]# systemctl disable NetworkManager --now Removed symlink /etc/systemd/system/multi-user.target.wants/Netwo…

使用Docker-Compose安装redis,rabbitmq,nacos,mysql,nginx,tomcat,portainer组件教程

因为开发经常会用到一些组件,又不想在本地启动,所以买了个服务器,然后将这些组件都安装到服务器上以便开发使用。下面就记录下使用docker-compose安装组件的教程以及一些需要注意的地方。 关于docker和docker-compose的安装在另一篇博客中有…

WPF+MVVM案例实战(二十二)- 制作一个侧边弹窗栏(CD类)

文章目录 1、案例效果1、侧边栏分类2、CD类侧边弹窗实现1、样式代码实现2、功能代码实现3 运行效果4、源代码获取1、案例效果 1、侧边栏分类 A类 :左侧弹出侧边栏B类 :右侧弹出侧边栏C类 :顶部弹出侧边栏D类 :底部弹出侧边栏2、CD类侧边弹窗实现 1、样式代码实现 在原有的…

解决 “Error: listen EACCES: permission denied 0.0.0.0:80“ 错误

前言 在开发过程中,我们经常会遇到各种各样的错误。其中一个常见的错误是 Error: listen EACCES: permission denied 0.0.0.0:80。这个错误通常发生在尝试启动一个开发服务器时,服务器试图绑定到80端口,但由于权限不足而失败。本文将详细介绍…

国产之光-海豚调度器的入门知识篇

目录 概念和定义 核心特性 核心组件 工作流程 环境准备 系统软件方面 硬件方面 部署方式 单机模式 伪集群模式 集群模式 基本配置 工作流定义 调度管理 定时调度 手动调度 监控告警 任务类型扩展 资源管理 权限控制 概念和定义 Apache DolphinScheduler是一…

使用Netty实现一个简单的聊天服务器

✅作者简介:热爱Java后端开发的一名学习者,大家可以跟我一起讨论各种问题喔。 🍎个人主页:Hhzzy99 🍊个人信条:坚持就是胜利! 💞当前专栏:Netty 🥭本文内容&a…

新世联科技:NG2-A-7在DAC空气捕集提取CO2的应用

一、DAC空气捕集提取CO2的介绍 直接空气碳捕获(Direct Air Capture,简称DAC)是一种直接从大气中提取二氧化碳的技术。 二、DAC空气捕集提取CO2的前景 从大气中提取的这种二氧化碳可以作为循环经济的一部分以各种不同方式使用。未来&#xf…

ISUP协议视频平台EasyCVR视频融合平台接入各类摄像机的方法

安防视频监控ISUP协议视频平台EasyCVR兼容性强、支持灵活拓展,平台可提供视频远程监控、录像、存储与回放、视频转码、视频快照、告警、云台控制、语音对讲、平台级联等视频能力。 想要将摄像机顺利接入EasyCVR平台,实现视频监控的集中管理和分发&#x…

(五)Spark大数据开发实战:灵活运用PySpark常用DataFrame API

目录 一、PySpark 二、数据介绍 三、PySpark大数据开发实战 1、数据文件上传HDFS 2、导入模块及数据 3、数据统计与分析 ①、计算演员参演电影数 ②、依次罗列电影番位前十的演员 ③、按照番位计算演员参演电影数 ④、求每位演员所有参演电影中的最早、最晚上映时间及…

达梦数据库宕机问题分析及处理

官方宕机原因排查 官方故障诊断排除 相关概念 达梦数据库宕机往往会产生core文件,解读core文件是分析宕机原因的主要手段,类似oracle的diag.trc或system dump转储文件,记录数据库线程状态、sql语句等。 首选的排查方向可以从内存溢出、磁盘…

spring ai 入门 之 结构化输出 - 把大模型llm返回的内容转换成java bean

目录 ​编辑 将AI非结构化文本转换为特定格式数据的应用场景说明 Spring AI 介绍 :为Java开发者打造的AI应用开发框架 Qwen 介绍 : 一个国内领先的开源大模型 Spring AI Alibaba框架介绍 : 一个国内最好的spring ai实现 使用spring ai …

HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac

寻找模拟器 背景: 运行的是h5,模拟器是网易MuMu。 首先检查一下是否配置dab环境,adb version 配置一下hbuilderX的adb: 将命令输出的路径配置到hbuilderx里面去,然后重启下HbuilderX。 开始安装基座…一直安装不…

使用Docker Compose构建多容器应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Docker Compose构建多容器应用 引言 Docker Compose 简介 安装 Docker Compose 创建基本配置 运行多容器应用 查看服务状态 …

react-router与react-router-dom的区别

写法上的区别: 写法1: import {Swtich, Route, Router, HashHistory, Link} from react-router-dom;写法2: import {Switch, Route, Router} from react-router; import {HashHistory, Link} from react-router-dom;react-router实现了路由的核心功能 react-router-…

Python 字符串类型中 ``split(“\n“)`` 与 ``splitlines()`` 方法的一些区别

最近在以 self.__print("#" * 20 "\n") 调用自己写的 __print 接口时发现打印的时候 "\n" 没有打出来,进而发现了 split("\n") 与 splitlines() 方法的一些区别。 一个是参数上,split 需要传递一个字符串作为…

Java Iterator 实现杨辉三角

一、问题描述 杨辉三角定义如下: 1/ \1 1/ \ / \1 2 1/ \ / \ / \1 3 3 1/ \ / \ / \ / \1 4 6 4 1/ \ / \ / \ / \ / \ 1 5 10 10 5 1 把每一行看做一个list,试写一个 Iterator,不断输出下一行的 list&#xf…

Spark 的介绍与搭建:从理论到实践

目录 一、分布式的思想 (一)存储 (二)计算 二、Spark 简介 (一)发展历程 (二)Spark 能做什么? (三)spark 的组成部分 (四&…

Linux操作系统 ------(3.文本编译器Vim)

目录 1.前言 2.本章学习目标 3.vim的三种工作模式 3.1一般模式‌ 3.2编辑模式‌ 3.3命令行模式‌ 4.运行vim 5.vim 不同工作模式下的常见命令 6.一般模式下的功能键 6.1移动光标类 6.2删除、复制和粘贴类 6.3查找替换类 7.从一般模式进入编辑模式 8.命令行模式下的…

RocketMQ的消息类型

RocketMQ的消息类型 文章目录 RocketMQ的消息类型一、顺序消息二、广播消息应用场景:示例代码:实现思路:注意点: 三、延时消息应用场景:核心方法: 四、批量消息应用场景:示例代码:注…

Selective Generation for Language Models 语言模型的选择性生成

生成式语言模型(Generative Language Models, GLMs)在文本生成任务中取得了显著进展。然而,生成内容的“幻觉”现象,即生成内容与事实或真实语义不符的问题,仍是GLMs在实际应用中的一个重大挑战。为了解决这一问题&…