栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

tomcat01-介绍和简易原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tomcat01-介绍和简易原理

tomcat基本面

tomcat官网:https://tomcat.apache.org

The Apache Tomcat® software is an open source implementation of the Java Servlet, 
JavaServer Pages, Java Expression Language and Java WebSocket technologies. 

Tomcat 是使用了Java WebSocket技术和serlet技术,tomcat使用java实现

为什么tomcat具备web服务的能力呢 先看看网络结构图

webstocket进行端口的监听,当然tomcat运行是一个进程,包含很多的线程。
在服务端用HTTP来监听,协议不好写,不妨用Java封装好的Socket作为监听。
比如:
	class MyTomcat{ 
		ServerSocket server=new ServerSocket(8080); 
		// 等待客户端的连接请求 
		Socket socket=server.accept(); 
	}
servlet容器
定义:
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
servlet实现了什么,过程
最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server。此后,一些其它的基于 Java 的 Web Server 开始支持标准的 Servlet API。Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
1. 客户端发送请求至服务器端;
2. 服务器将请求信息发送至 Servlet;
3. Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
4. 服务器将响应返回给客户端。
看看servlet
	public interface Servlet { 
		void init(ServletConfig config) throws ServletException; 
		ServletConfig getServletConfig(); 
		void service(ServletRequest req, ServletResponse res)throws ServletException, 
		IOException; 
		String getServletInfo(); 
		void destroy(); 
	}

	class LoginServlet extends HttpServlet{ 
		doGet(request,response){} 
		doPost(request,response){} 
	}

	
		LoginServlet 
		com.demo.web.servlet.LoginServlet 
	 
	 
		LoginServlet 
		/login 
	
	
简化版tomcat
class MyTomcat{ 
	List list=new ArrayList(); 
	ServerSocket server=new ServerSocket(8080); 
	Socket socket=server.accept(); 
	// 把请求和响应都封装在业务代码中的servlet 
	// 只要把业务代码中一个个servlets添加到tomcat中即可 
	list.add(servlets); 
} 

1、tomcat需要支持servlet规范
tomcat/lib/servlet-api.jar
2、web容器
希望tomcat源码中也有new ServerSocket(8080)的代码
3、servlet容器
希望tomcat源码中也有list.add(servlets)的代码

源码导入

源码包下载:
官网下载源码:https://tomcat.apache.org/download-10.cgi
Source code distributions

用idea作为项目导入,在我们直接在项目的根目录增加pom.xml文件,

结构介绍
(1)bin:主要用来存放命令,.bat是windows下,.sh是Linux下
(2)conf:主要用来存放tomcat的一些配置文件
(3)lib:存放tomcat依赖的一些jar包 以前有现有没有了
(4)logs:存放tomcat在运行时产生的日志文件
(5)modules: jdbc-pool jdbc线程池,存储数据使用
(6)webapps:存放应用程序
(7)work:存放tomcat运行时编译后的文件,比如JSP编译后的文件 编译启动后会有
(8)Java:存放源码
(9)res:存放资源文件
(10)test:存放测试的源码

Pom.xml文件



	4.0.0
	org.apache.tomcat
	Tomcat9.0
	Tomcat9.0
	9.0
	
	Tomcat9.0
	java
	
	
	
	java
	
	
	
	
	
	org.apache.maven.plugins
	maven-compiler-plugin
	2.3
	
	UTF-8
	1.11
	1.11
	
	
	
	
	
	
	junit
	junit
	4.12
	test
	
	
	org.easymock
	easymock
	3.4
	
	
	ant
	ant
	1.7.0
	
	
	wsdl4j
	wsdl4j
	1.6.2
	
	
	javax.xml
	jaxrpc
	1.1
	
	
	
	org.eclipse.jdt.core.compiler
	ecj
	4.5.1
	
	
	
	biz.aQute.bnd
	biz.aQute.bndlib
	5.2.0
	provided
	
	
	
	com.unboundid
	unboundid-ldapsdk
	6.0.2
	test
	
	
	



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/856724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号