【JavaEE】Tomcat-Servelet第一个helloworld程序(二)

简介: HTTP本质上就是一个TCP服务器(HTTP基于TCP)

3. 简化


其他操作不太好简化,这也很好理解~、

而5和6则需要点击package去打包,还有拷贝部署到对应目录,太麻烦了

不简化的话,每次调整代码,都要重新打包,重新拷贝部署替换原来的那个war包

我们只需要通过IDEA的插件(plugin)来完成这个工作(一键式完成5和6)


插件就是扩展,满足不同项目的不同要求的,需要就下载即可,各取所需,而不是,每个用户统一


就是这个,下载即可:



使用Smart Tomcat插件


首次使用比较麻烦,需要配置:


点击右上角的add…



右上角什么都没有,需要把这个栏打开:



点击add new


填写信息

之前context path拷贝到webapps中后不需要手动改,现在使用Smart Tomcat则需要~


修改后:


Context path就是/项目名

Servlet path就是/注解名


确认后:



点击这个三角形,启动程序:


首先,在IDEA这个控制台(utf8编码)中不会出现乱码,所以就可以看懂了,我们以后也是在这里观看的~

其次,这个Tomcat似乎没有启动成功:


看到这个错误信息:



原因:


Tomcat启动,需要绑定两个端口:


8080(业务端口)

8005(管理端口)

一个端口号只能被一个进程,而我们刚才的小黑框,就已经占用了这两个端口了,所以才会出现这个错误!



只需要关闭小黑框~


重新启动:



下面那个地址就是提示你的路径是什么

localhost == 127.0.0.1

点了一定404

因为这个路径没有第二级目录:/hello(注解里的字符串)


通过浏览器发送GET请求:



IDEA命令行中看到的:



Smart Tomcat的运行方式和之前拷贝到webapps是存在区别的~


清空webapps中的东西


把target删了


(ctrl + f2 结束进程),然后重新启动程序~


重新生成了target,但是里面似乎并没有war包~


webapps中也没有部署东西



而是通过这个特定的路径,“告诉”Tomcat,通过这个特定的参数,在这个特定路径里加载webapp就行了


所以并不涉及打包和拷贝~


开发和调试阶段,这种方式就相当方便,但是要部署到生产环境,还是得打war包和拷贝部署(但是通过开发和调试,这个包就很成熟了~)


4. Servlet程序中常见的问题

4.1 404

请求的路径写错


war包没被正确加载


比如web.xml中没写、写错或者漏写:

如果没有正确加载,服务器日志是有提示的~


这样浏览器访问后:



4.2 405

刚才web.xml的注释要取消掉哦~


发的请求的方法和代码不匹配


代码写得是doPost方法,但是发的却是GET请求


重新启动程序,发送请求:



忘记干掉super



重新启动程序,发送请求:



命令行正常,但是浏览器异常~

4.3 500

意味着你的服务器抛异常了,跟我们平时一样,查看异常调用栈去解决bug


重新启动程序,发送请求:



通过这个信息,快速定位错误位置!


4.4 返回空白页面

就是resp的body没有被设置


重新启动程序,发送请求:



4.5 无法访问此网站

Tomcat没打开(IDEA中程序没运行)

关闭程序,然后发送请求:



或者是:


通过这些错误去调试bug,也是一项重要的技能!


相关文章
|
Java 应用服务中间件 Maven
Servlet初识—编写hello world+使用smart Tomcat插件部署(二)
Servlet初识—编写hello world+使用smart Tomcat插件部署
Servlet初识—编写hello world+使用smart Tomcat插件部署(二)
|
11月前
|
网络协议 前端开发 Java
【JavaEE】Tomcat-Servelet第一个helloworld程序
HTTP本质上就是一个TCP服务器(HTTP基于TCP)
95 0
|
XML Java 应用服务中间件
Servlet初识—编写hello world+使用smart Tomcat插件部署(一)
Servlet初识—编写hello world+使用smart Tomcat插件部署
Servlet初识—编写hello world+使用smart Tomcat插件部署(一)
|
Web App开发 前端开发 关系型数据库
Linux——软件包的管理(RPM、YUM)、搭建JavaEE开发环境(jdk、tomcat、mysql)
Linux——软件包的管理(RPM、YUM)、搭建JavaEE开发环境(jdk、tomcat、mysql)
Linux——软件包的管理(RPM、YUM)、搭建JavaEE开发环境(jdk、tomcat、mysql)
|
Java 应用服务中间件 Apache
javaEE解决eclipse中不能设置tomcat8.5
javaEE解决eclipse中不能设置tomcat8.5
javaEE解决eclipse中不能设置tomcat8.5
|
Shell 应用服务中间件 Linux
Docker安装+HelloWorld+运行Tomcat
前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 上一篇已经讲解了为什么需要Docker?,相信大家已经对Docker有一个简单的认识了。
20277 0
|
安全 Java 应用服务中间件
[转载]JavaEE学习篇之——网络传输数据中的密码学知识以及Tomcat中配置数字证书EE
原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/21716557   今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一下Tomcat中配置数字证书的相关内容,但是在说这部分内容的时候,我们貌似得先说一下数字证书的相关概念,那说到数字证书的时候我们还得了解一些密码学的相关知识,这就是连锁反应吗?好吧不多说了,先来看一下密码学中关于网络中数据传输的知识。
952 0
|
23天前
|
前端开发 Java 应用服务中间件
Springboot对MVC、tomcat扩展配置
Springboot对MVC、tomcat扩展配置
|
8天前
|
XML Java 应用服务中间件
Tomcat_servlet部署、编译、配置、打包
Tomcat_servlet部署、编译、配置、打包
13 0
|
21天前
|
运维 Java 应用服务中间件
Tomcat详解(二)——tomcat安装与配置
Tomcat详解(二)——tomcat安装与配置
21 1