Java Web 之 Tomcat 100问

打印 上一主题 下一主题

主题 1379|帖子 1379|积分 4137

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Tomcat 是什么?

Tomcat 是一个开源的 Java Servlet 容器和 Web 容器。
Tomcat 的重要功能有哪些?

运行和管理 Web 应用;处理 HTTP 哀求。
怎样安装 Tomcat ?

(以后有时间,整理为截图更好)

  • 下载 Tomcat 安装包(Apache Tomcat 官网:https://tomcat.apache.org)。
  • 解压到指定目次。
  • 设置情况变量(如 CATALINA_HOME)。
  • 启动 Tomcat:


    • Windows: 运行 bin/startup.bat。
    • Linux/macOS: 运行 bin/startup.sh。
    • 留意:启动tomcat时如果出现乱码,修改日志设置logging.properties文件中的参数java.logging.ConsoleHandler.encoding即可。

  • 访问 http://localhost:8080 验证是否启动成功。
  • 关闭Tomcat:运行shutdown.bat文件。
怎样在 Tomcat 中摆设 Web 应用?

示例:摆设一个简朴的 Web 应用
创建一个简朴的 Servlet:
继承HttpServlet,并实现此中的doGet方法。
  1. import java.io.*;
  2. import javax.servlet.*;
  3. import javax.servlet.http.*;
  4. public class HelloServlet extends HttpServlet {
  5.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  6.             throws ServletException, IOException {
  7.         response.setContentType("text/html");
  8.         PrintWriter out = response.getWriter();
  9.         out.println("<html><body>");
  10.         out.println("<h1>Hello, Tomcat!</h1>");
  11.         out.println("</body></html>");
  12.     }
  13. }
复制代码
编译 Servlet 并将其放入 WEB-INF/classes 目次。
创建 web.xml 文件设置 Servlet:
  1. <web-app>
  2.     <servlet>
  3.         <servlet-name>HelloServlet</servlet-name>
  4.         <servlet-class>HelloServlet</servlet-class>
  5.     </servlet>
  6.     <servlet-mapping>
  7.         <servlet-name>HelloServlet</servlet-name>
  8.         <url-pattern>/hello</url-pattern>
  9.     </servlet-mapping>
  10. </web-app>
复制代码
将应用打包为 WAR 文件或直接复制到 Tomcat 的 webapps 目次。
启动 Tomcat 并访问 http://localhost:8080/your-app/hello。
war 模式和 war exploded 模式有什么区别?

在Java Web开发中(特殊是使用IDEA或Eclipse等IDE摆设到Tomcat时),会碰到WAR模式WAR Exploded模式两种不同的摆设方式。
WAR 模式(打包模式)WAR Exploded(展开模式)热更新不支持支持特点将项目编译后打包成一个尺度的 .war 文件(如 myapp.war),摆设时服务器会自动解压到其工作目次(如Tomcat的 webapps 目次)。直接将项目的编译结果以目次布局展开(未压缩),摆设到服务器。是否压缩文件压缩(ZIP格式)未压缩摆设速率比WAR Exploded模式更快。文件以目次形式存在,摆设速率略慢于WAR模式。调试便利性低高 建议:

  • 开发阶段使用WAR Exploded模式

    • 使用 WAR Exploded,使用热更新提高开发服从。
    • 在IDEA中设置Tomcat时,选择 Deploy as exploded war

  • 生产阶段使用WAR 模式

    • 使用 WAR模式,通过CI/CD工具生成 .war 文件后摆设。

IDEA中,怎样启动 Tomcat 热摆设?

Tomcat的热摆设机制


  • 对于Exploded模式,Tomcat会监控 WEB-INF/classes 和 WEB-INF/lib 的变化,但默认不自动重载Java类(需设置reloadable="true"或使用JRebel)。
IDEA中的设置
  1. <!-- 在Tomcat的 context.xml 中 -->
  2. <Context reloadable="true" path="/myapp"/>
复制代码
开启后,Tomcat会检测变动并自动重启应用(影响性能,慎用于生产情况)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小小小幸运

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表