Tomcat入门
1、常见的WEB服务器
- Tomcat:Apache旗下的一款开源免费中小型服务器软件。
- WebLogic:Oracle公司的一款大型收费服务器软件,支持JavaEE所有规范。
- WebSphere:IBM公司的一款大型收费服务器软件,常被用于银行系统。
2、Tomcat概述
Tomcat服务器是一个免费的开放源代码的Web应用服务器,常用于中小型企业。隶属Apache,支持Servlet和JSP规范。
3、Tomcat的目录结构
- bin:二进制可执行脚本,包括常用的启动脚本startup.bat,停止脚本shutdown.bat
- conf:配置文件,包括核心配置文件server.xml,用户权限配置文件tomcat-users.xml,web项目默认配置文件web.xml
- lib:程序运行依赖的jar包
- logs:日志文件目录
- temp:临时文件目录
- webapps:web应用发布目录
- work:tomcat处理SJP的工作目录
4、eclipse集成Tomcat
步骤如下:
- 获得服务器运行环境配置,Window/Preferences/Server/Runtime Environment
- 添加服务
- 选择安装包所在地址
5、使用Tomcat
配置文件web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 3 <display-name>WEB012</display-name> 4 <servlet> 5 <servlet-name>MyFirstServlet</servlet-name> 6 <servlet-class>com.alphajuns.servlet.MyFirstServlet</servlet-class> 7 </servlet> 8 <servlet-mapping> 9 <servlet-name>MyFirstServlet</servlet-name> 10 <url-pattern>/myFirst</url-pattern> 11 </servlet-mapping> 12 13 <welcome-file-list> 14 <welcome-file>index.html</welcome-file> 15 <welcome-file>index.htm</welcome-file> 16 <welcome-file>index.jsp</welcome-file> 17 <welcome-file>default.html</welcome-file> 18 <welcome-file>default.htm</welcome-file> 19 <welcome-file>default.jsp</welcome-file> 20 </welcome-file-list> 21 </web-app>
实现Servlet的类
1 package com.alphajuns.servlet; 2 3 import java.io.IOException; 4 5 import javax.servlet.Servlet; 6 import javax.servlet.ServletConfig; 7 import javax.servlet.ServletException; 8 import javax.servlet.ServletRequest; 9 import javax.servlet.ServletResponse; 10 import javax.servlet.http.HttpServletResponse; 11 12 public class MyFirstServlet implements Servlet { 13 14 @Override 15 public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { 16 // 用于向客户端提供相应的方法 17 HttpServletResponse response = (HttpServletResponse) arg1; 18 response.getWriter().write("This is my first Servlet!"); 19 } 20 21 @Override 22 public void destroy() { 23 // TODO Auto-generated method stub 24 25 } 26 27 @Override 28 public ServletConfig getServletConfig() { 29 // TODO Auto-generated method stub 30 return null; 31 } 32 33 @Override 34 public String getServletInfo() { 35 // TODO Auto-generated method stub 36 return null; 37 } 38 39 @Override 40 public void init(ServletConfig arg0) throws ServletException { 41 // TODO Auto-generated method stub 42 43 } 44 45 46 47 }
运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现