Java Web基础入门第八讲 Java Web开发入门——初始WEB服务器 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 网站建设 >

Java Web基础入门第八讲 Java Web开发入门——初始WEB服务器

发表时间:2016-7-5

发布人:葵宇科技

浏览次数:35

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官方站点:http://tomcat.apache.org。点击进入该网站进行下载。
在这里插入图片描述
选择左边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,如下图所示:
在这里插入图片描述

相关案例查看更多