|
Servlet —— Tomcat, 初学 Servlet 程序
Smart Tomcat
在上一篇文章中, 我们手动拷贝 war 包到 Tomcat
中的过程比较麻烦, 我们有更方便的部署方式.
此处我们要使用 IDEA 中的 Smart Tomcat
插件.
插件 (plugin) : 像 IDEA 这样的程序虽然功能强大, 但是也无法面面俱到. 对于一些特殊场景的功能, 开发者就可以开发一些 “插件”. 如果需要这个插件, 就单独安装.
Smart Tomcat 的下载
在 settings
中如下图下载.
# 注意 #
安装过程必须联网! ! !
配置 Smart Tomcat 插件
此时点击 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
#
路径写错了
-
少写了
Context Path
- 如果是使用 startup.bat 的方式启动的 Tomcat, 此时 Context Path 就是 webapps 下的 webapp 的目录名 (war 包名)
- 如果是使用 Smart Tomcat 的方式启动的 Tomcat, 此时 Context Path 就是配置 Smart Tomcat 的时候手动填写的.
-
少写了
Servlet Path
-
Servlet Path 写的和
URL
不匹配
#
webapp 没有被 Tomcat 正确加载
web.xml
写错了 (导致 Tomcat 无法正确加载 webapp, web.xml
是 Tomcat 加载 war 包的一个重要依据)
405
请求的方法, 服务器没有实现
-
GET 请求, 服务器却没有写
doGet
. -
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
的同时, 还显示了异常信息.
无法访问此网站
Tomcat
没有启动IP
/ 端口写错了
|
以上就是今天要讲的内容了,希望对大家有所帮助,如果有问题欢迎评论指出,会积极改正!!