Java Web基础入门第八讲 Java Web开发入门——初始WEB服务器
发布日期:2021-06-30 17:57:31 浏览次数:3 分类:技术文章

本文共 3579 字,大约阅读时间需要 11 分钟。

WEB开发的相关知识

WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源分为:

  • 静态web资源(如html页面):指web页面中供人们浏览的数据始终是不变的;
  • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

在这里插入图片描述

在Java中,动态web资源开发技术统称为JavaWeb,我们学习的重点也是如何使用Java技术开发动态的web资源,即动态web页面。

WEB服务器

学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。这里有一个疑问:学习web开发,为什么必须要先装一个WEB服务器?这是因为:

  1. 在本地计算机上随便创建一个web页面,大家可以访问到吗?

    答案是不可以。这说明不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。例如,在C:\a目录下有一个静态web资源——1.html,如下:

    hello world

    想要此资源被远程计算机访问,都必须有一个与之对应的网络通信程序,在C:\a目录下创建一个Server.java应用程序。

    import java.net.*;import java.io.*;public class Server {
    public static void main(String[] args) throws Exception {
    ServerSocket server = new ServerSocket(9999); Socket sock = server.accept(); FileInputStream in = new FileInputStream("c:\\a\\1.html"); OutputStream out = sock.getOutputStream(); int len = 0; byte[] buffer = new byte[1024]; while ((len = in.read(buffer)) > 0) {
    out.write(buffer, 0, len); } out.close(); in.close(); sock.close(); server.close(); } }

    照理来说,运行以上应用程序,然后通过浏览器输入URL地址http://localhost:9999,即可获取到1.html资源中的数据。但不知为何我就是获取不到,如下图所示。

    在这里插入图片描述

  2. 启动tomcat服务器,把web页面放在tomcat服务器中,用户就可以访问了。原因是Web服务器就是这样一个程序,它用于完成底层网络通迅。使用这些服务器,用户只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。

常见WEB服务器

常见WEB服务器有如下几种:

  • WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范(总共有13门技术),而且不断的完善以适应新的开发要求,启动界面如图:
    这里写图片描述
  • 另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,启动界面如图:
    这里写图片描述
  • 在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范,启动界面如图:
    这里写图片描述

其实以上这些服务器,我们只要学会使用Tomcat服务器就好了,所以这将是我们学习的重点。

Tomcat服务器的下载与安装

Tomcat官方站点:。点击进入该网站进行下载。

在这里插入图片描述
选择左边Navigation中Download下的相关版本进行下载,这里我选择的的是Tomcat 8。每个版本有Binary Distributions和Source Code Distributions两种形式,Binary Distributions下载应用程序,Source Code Distributions下载Tomcat源代码。
在这里插入图片描述
注意:

  • tar.gz文件是Linux操作系统下的安装版本;
  • exe文件是Windows系统下的安装版本;
  • zip文件是Windows系统下的压缩版本。

下载好Tomcat zip包后,可以解压缩到相关文件夹下,我这里解压缩到了D:\tomcat-8.5.38\apache-tomcat-8.5.38。

Tomcat的目录层次结构

这里写图片描述

启动Tomcat服务器

双击bin目录下的startup.bat文件启动Tomcat服务器。

在这里插入图片描述
启动界面为:
在这里插入图片描述

测试Tomcat服务器

打开浏览器,输入http://localhost:8080,能显示如下界面代表安装成功。

在这里插入图片描述

Tomcat启动常见问题

导致Tomcat服务器无法正常启动的原因一般来说就是如下的两个:

  1. JAVA_HOME环境变量设置问题
    要想双击bin目录下的startup.bat文件启动Tomcat服务器,首先要做的就是在Windows中设置JAVA_HOME环境变量,因为Tomcat服务器的启动需要Java运行环境,所以需要用到这个JAVA_HOME环境变量,如果Windows中不存在JAVA_HOME环境变量,则Tomcat服务器是无法启动的。注意:JAVA_HOME环境变量设置的是JDK的主目录
  2. 端口占用问题
    因为Tomcat服务器启动时默认是使用8080端口的,如果这个8080端口被别的应用程序占用了,那么Tomcat服务器就无法正常启动,看到的现象就是"Tomcat服务器启动界面会打印出异常错误信息,然后就自动关闭了"。
    由于这个(黑)窗口从启动到关闭的时间非常短,我们很难通过这个窗口看到Tomcat启动时的报错异常信息,因此我们一般只能通过Tomcat服务器记录的log(日志)信息去查看Tomcat服务器的运行情况。在Tomcat服务器的根目录下有一个logs文件夹。logs文件夹存放着Tomcat的日志文件,打开logs文件夹,可以看到里面的log文件,其中有一个以"catalina.yyyy-MM-dd.log"形式命名的log文件,例如"catalina.2019-02-25.log"日志文件就是记录Tomcat服务器2019-02-25这一天的运行情况。
    在这里插入图片描述
    打开catalina.2019-02-25.log文件,查看里面的日志记录信息:
    在这里插入图片描述
    日志信息里面清楚的记录了Tomcat服务器的运行情况,如果因为8080端口被占用而无法正常启动,就会记录如上所示的异常信息,通过查看异常信息,我们就可知道Tomcat服务器为什么不能够正常启动了!

所以,当Tomcat服务器无法正常启动时,首先检查是否配置了JAVA_HOME环境变量,然后再检查Tomcat服务器启动时的端口是否被别的应用程序占用了。

CATALINA_HOME环境变量的设置问题

安装好Tomcat服务器后,最好不要在系统环境变量中添加如下变量:CATALINA_HOME=D:\tomcat-8.5.38\apache-tomcat-8.5.38(选择你自己的安装路径)。因为双击startup.bat文件,启动的是哪台服务器,是由CATALINA_HOME环境变量决定的,该环境变量指定的是哪台服务器,启动的就是哪台服务器。

Tomcat服务器端口的配置

Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改。

例如:将Tomcat服务器的启动端口由默认的8080改成80端口,开发时虽然用的是8080端口,但是每次在浏览器访问时,都要输入8080端口号,这样会很烦,所以将其修改为80端口号。

  • Tomcat服务器启动端口默认配置:
    在这里插入图片描述
  • 将Tomcat服务器启动端口修改成80端口:
    在这里插入图片描述

这样就把原来Tomcat默认的8080端口改成了80端口了,需要注意的是,一旦服务器中的*.xml文件改变了,则Tomcat服务器就必须重新启动,重新启动之后将重新读取新的配置信息。因为已经在server.xml文件中将Tomcat的启动端口修改成了80,所以Tomcat服务器启动时就以80端口启动了,如下图所示:

在这里插入图片描述
访问Tomcat服务器那么就可这样访问,不需要指定什么端口号了:http://localhost,如下图所示:
在这里插入图片描述

转载地址:https://liayun.blog.csdn.net/article/details/51834159 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java Web基础入门第九讲 Java Web开发入门——再探Tomcat服务器
下一篇:如何将Eclipse中的Web项目自动部署到Tomcat?

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月11日 13时03分35秒