Java网络01 Tomcat初次尝试

简介: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!     Tomcat是一套开源软件,它由Apache Software Foundation(ASF)开发,用于实现Java Servlet和JavaServer Page (JSP)技术。

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

 

Tomcat是一套开源软件,它由Apache Software Foundation(ASF)开发,用于实现Java Servlet和JavaServer Page (JSP)技术。

Tomcat是雄性猫的意思。在O‘Reilly的动物书中,猫已经被用作另一本书的封面。所以,Tomcat的O'Reilly书的封皮是雪豹(Snow Leopard):

猫咪变雪豹

 

Tomcat的功能

Tomcat的核心是一个Servlet Container。Servlet是一类特殊的Java对象,它工作于Web服务器,用于分析请求(request),并生成相应的回复(response)。Servlet Container用于启动和调用Servlet对象。当有HTTP请求进入到Web服务器时,Servlet Container会查找相应的Servlet,如果Servlet还不存在,那么Container需要创建对象。Servlet Container随后将请求的内容传递给Servlet,并将Servlet生成的回复发回给负责通信的服务器程序。

 

蓝色为请求,红色为回复

关于HTTP协议和Web服务器,可参阅协议森林 HTTP协议

 

Web服务器使用HTTP协议与客户直接通信。Tomcat自身包含有Web服务器的功能。你也可以使用其他的Web服务器,比如Apache服务器,以提供更强大的Web服务器。

 

Tomcat还有一个重要的功能,是处理JSP文件。JSP可以看做是一个高层的Servlet,它最终会被翻译成Servlet运行。我们用模板语言的方式来写JSP文件,这类似于PHP的编写方式。JSP文件中可以直接包含HTML元素。利用JSP技术,我们可以从Servlet中分离出视图,让JSP来负责页面的呈现方式,从而更好的实现MVC(Model-View-Control)。Tomcat中的Jasper模块负责JSP的翻译。

 

安装Tomcat

Tomcat的安装很简单,下面以Linux/Mac为例介绍:

1. 前往Apache Tomcat的网站下载Tomcat

2. 解压缩下载文件,文件夹中将包括如下内容:

其中bin文件夹下有可执行脚本:

startup.sh

shutdown.sh

分别用于启动和关闭Tomcat。你可以将bin的路径加入环境变量PATH,以便在命令行时,可以直接使用这两个脚本。

 

启动Tomcat后,你可以使用浏览器访问下面的地址localhost:8080,来检查Tomcat是否正常启动。8080为Tomcat的默认端口。如果一切顺利,将看到下面的页面:

 

需要注意的是,如果你的计算机上没有Java Runtime,那么为了让Tomcat顺利运行,你需要安装Java Runtime。

 

webapps

当我们开发好了一个网络app,比如一个网站test之后,可以将app放入到webapps文件夹中。webapps文件夹中有一个特殊的ROOT文件夹,这个文件夹中包含有默认的网络app。当我们访问服务器的根目录时,比如localhost:8080/index.html时,实际上访问的是ROOT文件夹中的index.html文件。

(安装好Tomcat之后,ROOT文件夹中包含的是用于设置Tomcat的一个GUI页面。如果直接更改ROOT的话,最好先备份原始的ROOT文件夹。)

 

我们在webapps中新建文件夹test,并放入下面的index.html文件:

 

<html>

<body>
  <p>Hello World!</p>
</body>

</html>

 

在浏览器中,访问localhost:8080/test/index.html,可以看到

 

 

服务器可以正常的提供静态的/test/index.html文件。

 

除了html文件之外,app文件夹中还应该包括与该app相关的其他文件,比如jsp文件,css文件,javascript文件,servlet的.class文件,model相关的.class文件等等。

我们在test文件夹中新建一个index.jsp文件:

<html>

<body>
  <p>Hello World!</p>
  <%= new java.util.Date() %>
</body>

</html>

在浏览器中访问,得到如下页面:

可以看到,JSP中的代码调用了java.util.Date()方法,以显示当前时间。该jsp文件翻译成Servlet,并由Servlet产生适当的回复,传递给客户端,即浏览器。翻译和回复的过程都是由Tomcat自动完成的。

 

更改端口

Tomcat是利用一系列xml文件来进行配置的。比如我们上面的端口为8080。现在,我们想更改Tomcat所监听的端口,可以在conf/server.xml中,找到Connector标签,以及标签的port属性。原来的属性值为8080,将其改为其他的值,并重新启动Tomcat就可以了。

 

总结

Tomcat是实施Servlet与JSP的一套软件。这里是对Tomcat的简单介绍。

你可以在自己的电脑上迅速的建立起Tomcat主机,并尝试上面的内容。

 

欢迎继续阅读“Java快速教程”系列文章

 

目录
相关文章
|
22天前
|
Java
【思维导图】JAVA网络编程思维升级:URL与URLConnection的逻辑梳理,助你一臂之力!
【思维导图】JAVA网络编程思维升级:URL与URLConnection的逻辑梳理,助你一臂之力!
33 1
|
22天前
|
XML JSON 搜索推荐
【高手过招】JAVA网络编程对决:URL与URLConnection的高级玩法,你敢挑战吗?
【高手过招】JAVA网络编程对决:URL与URLConnection的高级玩法,你敢挑战吗?
43 0
|
22天前
|
Java
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
29 3
|
22天前
|
安全 Java 网络安全
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
31 2
|
23天前
|
存储 算法 Java
Java中的集合框架深度解析云上守护:云计算与网络安全的协同进化
【8月更文挑战第29天】在Java的世界中,集合框架是数据结构的代言人。它不仅让数据存储变得优雅而高效,还为程序员提供了一套丰富的工具箱。本文将带你深入理解集合框架的设计哲学,探索其背后的原理,并分享一些实用的使用技巧。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
24天前
|
编解码 网络协议 Oracle
java网络编程入门以及项目实战
这篇文章是Java网络编程的入门教程,涵盖了网络编程的基础知识、IP地址、端口、通讯协议(TCP和UDP)的概念与区别,并提供了基于TCP和UDP的网络编程实例,包括远程聊天和文件传输程序的代码实现。
java网络编程入门以及项目实战
|
15天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
30 0
|
20天前
|
网络协议 C# 开发者
WPF与Socket编程的完美邂逅:打造流畅网络通信体验——从客户端到服务器端,手把手教你实现基于Socket的实时数据交换
【8月更文挑战第31天】网络通信在现代应用中至关重要,Socket编程作为其实现基础,即便在主要用于桌面应用的Windows Presentation Foundation(WPF)中也发挥着重要作用。本文通过最佳实践,详细介绍如何在WPF应用中利用Socket实现网络通信,包括创建WPF项目、设计用户界面、实现Socket通信逻辑及搭建简单服务器端的全过程。具体步骤涵盖从UI设计到前后端交互的各个环节,并附有详尽示例代码,助力WPF开发者掌握这一关键技术,拓展应用程序的功能与实用性。
42 0
|
22天前
|
缓存 Java API
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
28 0
|
25天前
|
Java 网络安全 云计算
深入理解Java异常处理机制云计算与网络安全:技术挑战与应对策略
【8月更文挑战第27天】在Java编程的世界里,异常处理是维护程序健壮性的重要一环。本文将带你深入了解Java的异常处理机制,从基本的try-catch-finally结构到自定义异常类的设计,再到高级特性如try-with-resources和异常链的应用。通过具体代码示例,我们将探索如何优雅地管理错误和异常,确保你的程序即使在面对不可预见的情况时也能保持运行的稳定性。