Servlet —— Smart Tomcat,以及一些访问出错可能的原因

news2024/11/27 19:45:39
JavaEE传送门

JavaEE

HTTPS —— HTTPS的加密方式

Servlet —— Tomcat, 初学 Servlet 程序


目录

  • Smart Tomcat
    • Smart Tomcat 的下载
    • 配置 Smart Tomcat 插件
  • 访问出错
    • 404
    • 405
    • 500
    • 无法访问此网站


Smart Tomcat

在上一篇文章中, 我们手动拷贝 war 包到 Tomcat 中的过程比较麻烦, 我们有更方便的部署方式.

此处我们要使用 IDEA 中的 Smart Tomcat 插件.

插件 (plugin) : 像 IDEA 这样的程序虽然功能强大, 但是也无法面面俱到. 对于一些特殊场景的功能, 开发者就可以开发一些 “插件”. 如果需要这个插件, 就单独安装.

Smart Tomcat 的下载

settings 中如下图下载.

# 注意 # 安装过程必须联网! ! !


配置 Smart Tomcat 插件

<img src="C:\Users\gujiu\AppData\Roaming\Typora\typora-user-images\image-20230116163308747.png" alt="image-20230116163308747" style="zoom:80%;" /

此时点击 Apply , Ok, 基本配置就完成了.

# 注意 # Context Path 本来是 webapps 里的 war 包名/ 目录名. 但是由于 Smart Tomcat 和之前的拷贝 war 包属于不同的运行方式, 这里不涉及到 war 包名这样的概念, 就需要手动配置 Context Path 了.

点击 ok 之后, 此处就生成了一个运行配置, 点击绿色三角号, 就可以一键式的完成打包部署了.

点击绿色三角号, 开始运行.

# 注意 # 我们会看到很多标红. 不要看到标红, 就觉得是失败 !!!, Tomcat 的日志本身就是显示成红色的, 要看 starup in xxx ms

这时我们再访问 127.0.0.1:8080/helloservlet/hello

小知识:

Smart Tomcat 多用于调试阶段/ 开发阶段. 写代码的时候, 开着 idea 和 Smart Tomcat , 一边写, 一边验证.

等网站真正上线部署, 则是要放到云服务器的 Tomcat 中. (打 war 包拷贝).


访问出错

404

# 路径写错了

  1. 少写了 Context Path

    • 如果是使用 startup.bat 的方式启动的 Tomcat, 此时 Context Path 就是 webapps 下的 webapp 的目录名 (war 包名)
    • 如果是使用 Smart Tomcat 的方式启动的 Tomcat, 此时 Context Path 就是配置 Smart Tomcat 的时候手动填写的.
  2. 少写了 Servlet Path

  3. Servlet Path 写的和 URL 不匹配

# webapp 没有被 Tomcat 正确加载

web.xml 写错了 (导致 Tomcat 无法正确加载 webapp, web.xml 是 Tomcat 加载 war 包的一个重要依据)


405

请求的方法, 服务器没有实现

  1. GET 请求, 服务器却没有写 doGet.

  2. doGet 方法中, 忘记删除 super.doGet(req, resp).

    在这里插入图片描述


500

服务器代码抛异常

错误示例:

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {
        String s = null;
        resp.getWriter().write(s.length());//此处代码有误
   }
}

重启 Tomcat, 如图 ,在显示 500 的同时, 还显示了异常信息.


无法访问此网站

  1. Tomcat 没有启动
  2. IP/ 端口写错了

🌷(( ◞•̀д•́)◞⚔◟(•̀д•́◟ ))🌷

以上就是今天要讲的内容了,希望对大家有所帮助,如果有问题欢迎评论指出,会积极改正!!
在这里插入图片描述
在这里插入图片描述

这里是Gujiu吖!!感谢你看到这里🌬
祝今天的你也
开心满怀,笑容常在。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166802.html

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

相关文章

解析 json,整理分散数据入库

【问题】在 json 文件中有以下内容&#xff1a;现在需要将 json 中分散的数据整理入库。“LIST”中包含多个子孙记录&#xff0c;主要目标是”GROUPNAME”、”SERVICES”。“GROUPNAME”值、”SERVICES”中的键编号对应了数据库表 _groups 的 Groupname 和 ID。“SERVICES”每个…

PicGo+Gitee+Typora实现markdown图床

PicGoGitee实现markdown图床 情景概要 写博客的时候&#xff0c;总是需要插入图片的&#xff0c;图片存在本地的话上传到博客网站去就没法显示了 就算一个图一个图的复制粘贴上去&#xff0c;想移植到其他的博客网站&#xff0c;图就会失效&#xff0c;我们就需要图床 图床 …

系分 - 案例分析 - 项目管理

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录系分 - 案例分析 - 项目管理时间管理进度管理典型例题题目描述参考答案系分 - 案例分析 - 项目管理 时间管理 进度管理 ① 项目进度管理包括为管理项目按时完成所需的7个过程&#xff0c;具体为&#xf…

MyBatis-Plus数据安全保护(字段脱敏)

项目创建POM依赖 <dependency><!--MyBatis-Plus 企业级模块--><groupId>com.baomidou</groupId><artifactId>mybatis-mate-starter</artifactId><version>1.2.8</version> </dependency> YML配置 spring:datasource:# 配…

熟悉Spring框架?Spring容器使用流程,注解 你真的会吗?(让你一下通透~)

目录 前言 一、ApplicationContext 和 BeanFactory 的区别 二、主要工作流程 三、开发步骤 3.1、创建Maven项目 3.2、创建Spring的核心配置文件 3.3、Spring注解 3.3.1、类注解 3.3.2、五大类注解的关系 3.3.3、方法注解 3.3.4、属性注入 3.3.5、五大注解关系图&am…

【03】FreeRTOS的任务创建(静态和动态)和删除

目录 1.任务创建和删除的API函数 1.1动态创建任务函数 1.1.1实现动态创建任务流程 1.1.2任务控制块结构成员介绍 1.2静态创建任务函数 1.2.1实现静态创建任务流程 1.3任务删除函数 1.3.1删除任务流程 2.任务创建和删除&#xff08;动态方法&#xff09; 2.1宏confi…

一文掌握项目估算工具及方法【管理有度13】

01为什么要做估算我们的业务方经常抱怨资源不足&#xff0c;团队需求的吞吐率太低&#xff0c;资源和需求量的不匹配是一个永恒的话题&#xff0c;解决方案应该不只是增加资源&#xff0c;增加了资源如果需求的输入量不能稳定保证&#xff0c;那资源就会处于持续浪费的状态当中…

项目管理:项目控制的三个基本原则

要记住项目控制是怎么回事&#xff0c;一个简单方法是思考PDA。PDA是指预防、检测和行动。让我们仔细看看项目控制的这些基本原则。 1、预防 就像你自己的健康一样&#xff0c;健康的秘诀是加强你的免疫系统&#xff0c;尽量减少与有害物的接触。换句话说&#xff0c;就是不…

谷歌账号被封怎么办?谷歌账号解封申诉步骤请收好!

谷歌账号有多重要&#xff1f;相信很多跨境人和社媒营销人都会深有感悟的&#xff0c;谷歌账号可以说是国外互联网的一个通行证&#xff0c;国外非常多的网站都是支持使用谷歌账号登录的。 谷歌账号对企业进军海外市场是非常重要的存在&#xff0c;然而谷歌账号一旦操作不当是很…

Go语言变量

Go语言变量 参考资料主要来源于菜鸟教程。 参考链接&#xff1a;https://blog.51cto.com/u_15230485/2821028 变量来源于数学&#xff0c;是计算机语言中能存储计算结果或能表示值抽象概念。 变量可以通过变量名访问。 Go语言变量名由字母、数字、下划线组成&#xff0c;其中首…

Vector和ArrayList对比

本文会对ArrayList和Vector进行分析&#xff0c;为什么会关注这两个类&#xff0c;主要是因为他们拥有相同的继承结构&#xff0c;接下来就来探索下这两个类实现和效率的异同。 继承结构 可以看到&#xff0c;Vector和ArrayList都实现了List和RandomAccess接口&#xff0c;都继…

C语言——常用字符串库函数的介绍

文章目录常用字符串库函数介绍1.1关于字符串简介1.2:[strlen库函数](https://legacy.cplusplus.com/reference/cstring/strlen/?kwstrlen)1.2.1strlen函数的功能1.2.2strlen函数的参数和返回类型1.2.3strlen函数使用注意事项1.2.4strlen的使用1.2.5模拟实现strlen函数1.3:[str…

喜讯!酷开科技荣获中国国际广告节三项殊荣!

近日&#xff0c;由中国广告协会主办的第29届中国国际广告节AD Fair媒企交易会在厦门国际会展中心隆重举行。其中备受瞩目的三大盛典&#xff1a;广告主金伙伴盛典、广告主盛典、媒企盛典&#xff0c;是广告业必不可少的荣誉殿堂&#xff0c;他们不仅是对中国广告传媒业各方主体…

【C++升级之路】第七篇:STL简介

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【C学习与应用】 ✒️✒️本篇内容&#xff1a;从整体上对STL进行粗略介绍 &#x1f6a2;&#x1f6a2;作者简介&#xff1a;计算机海洋的新进船长一枚&…

GTD之初总结

思维导图 GTD&#xff1a;GTD是“Getting Things Done”的缩写&#xff0c;是由效率管理专家戴维艾伦&#xff08;David Allen&#xff09;开创的一套完整个人时间管理系统 既高效地处理工作事务&#xff0c;又能品味生活的快乐滋味&#xff0c;达到心如止水的轻松感 GTD工作…

docker中基础内容

docker中的核心概念 1、镜像&#xff1a; Image 定义&#xff1a;一个镜像就代表一个软件&#xff0c;比如&#xff1a;mysql 镜像、redis 镜像、es镜像等等2、容器&#xff1a; Container 定义&#xff1a;一个镜像运行一次就会生成一个容器&#xff0c;容器就是一个运行的软…

托普云农在创业板IPO过会:拟募资约3亿元,前三季度利润下滑8%

近日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;浙江托普云农科技股份有限公司&#xff08;下称“托普云农”&#xff09;获得创业板上市委会议通过。据贝多财经了解&#xff0c;托普云农于2022年6月24日递交招股书并获得受理。 本次冲刺创业板上市&#xff0c;托普…

分享36个C源码,总有一款适合您

C源码 分享36个C源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c;大家下载后可以看到。 源码下载链接&#xff1a;https://pan.baidu.com/s/1WTLgtQ2J5gfZdj-LMEYnEA?pwdnimr 提取码…

Swagger使用

SpringBoot继承Swagger <!--swagger依赖--> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version> </dependency> <!--swagger ui--> <dependen…

列表元素的查找,插入和删除

1&#xff0c;查找列表元素&#xff1a; 语法格式&#xff1a;ls.index(x) 其中&#xff0c;ls是要进行元素查找操作对象&#xff0c;x为要查元素值&#xff0c;返回值是ls中第一个值为x的元素的位置。例如&#xff1a;ls[1,2,3,6]#创建一个列表 print&#xff08;ls值为6的元…