软件的架构:BS和CS
Web介绍
JavaEE规范
模拟一个Tomcat
Tomcat的安装、配置
Tomcat的启动与关闭
Tomcat的目录结构
Tomcat启动时常见的问题
IDEA绑定tomcat
1.软件的架构:BS和CS
CS介绍
CS(Client/Server):客户端/服务器模式。
客户端:需要安装软件。
升级维护不方便,如果服务器升级,所有的客户端都要升级。
程序开发工作量:客户端和服务端都需要大量的工作
BS介绍
BS(Browser/Server):浏览器/服务器模式。
客户端:不需要,只要有浏览器就可以了。
如果服务器升级,客户端不需要升级。
程序员开发工作量:在服务器端。
2.Web资源的分类:(静态和动态)
什么是Web?
web翻译过来是网站/网页
静态资源特点:
静态页面就是设计者把页面上所有东西都先设计好了,访问多少次页面内容都是一样的,不会变。
动态资源特点:
动态页面的内容一般都是依靠服务器端的程序来生成的,多次访问页面的内容可能不同。比如(网购的购物车,开始没有,再看就添加了就是动态)。
WEB服务器
硬件服务器是一台功能很强大的电脑
Web服务器是运行在硬件服务器上的一个软件,主要功能是提供网上信息浏览服务。
Web服务器又称为Web容器。
3.JavaEE规范
JavaEE是企业里面开发网站的一套标准,不同厂商的JavaWeb服务器都实现了这些接口,在JavaEE中一共有13种规范。实现的规范越多,服务器的功能越强。
常见的JavaEE规范有:JDBC,JSP、Servlet、EJB、XML、JNDI等
常用的Web服务器
Tomcat:
在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以Servlet规范。Tomcat运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。
4.模拟一个Tomcat
使用多线程和Socket模拟一个简单的Web服务器,将服务器上的资源共享给浏览器
代码
package com.itheima.demo01;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Timestamp;
public class Demo01 {
public static void main(String[] args) throws IOException {
// 创建服务器
ServerSocket serverSocket = new ServerSocket(8080);
// Timestamp 输出当前时间,精确到毫秒
System.out.println(new Timestamp(System.currentTimeMillis()) + "服务器启动");
// 接收客户端的请求
while(true) {
Socket socket = serverSocket.accept(); // 得到请求,返回Socket对象
System.out.println(new Timestamp(System.currentTimeMillis()) + "," + socket.getInetAddress().getHostAddress() + "连接");
new MyTomcat(socket).start(); // 启动线程
}
}
}
/**
模拟web容器:采用多线程的方法,每个用户创建一个线程 */
class MyTomcat extends Thread {
private Socket socket;
//通过构造方法传递Socket对象
public MyTomcat(Socket socket) {
this.socket = socket;
}
//处理每个线程的任务
@Override
public void run() {
//读取本地服务器的资源,得到输入流对象
try (
FileInputStream inputStream = new FileInputStream("c:/MyFileTest/index.html");
//得到输出流,通过Socket得到
OutputStream outputStream = socket.getOutputStream();
) {
//将输入流中数据复制到输出流中
int len = 0;
byte[] buf = new byte[512];
while((len = inputStream.read(buf))!=-1) {
outputStream.write(buf,0,len);
}
System.out.println("网页下载成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Web服务器的原理
Web服务器是一个TCP的服务端,浏览器是tcp的客户端,任何电脑的浏览都可以链接Web服务器,Web服务器将服务器上的资源返回给浏览,浏览器就能显示这个资源
我们需要自己编写Web服务器吗?
不要,有现成的,我们后面的学习都使用Tomcat
5.Tomcat的安装、配置
tomcat的产品页面: http://tomcat.apache.org/
安装
直接解压就可以了,建议:不要有中文的目录,目录层次不要太深
解压后
环境变量的配置
添加Tomcat的安装目录
配置Path,可以在任何路径下访问bin文件夹的可执行文件
6.Tomcat的启动与关闭
启动的命令:startup.bat
通过浏览器来访问:
关闭的命令:shutdown.bat 正常关闭
也可以直接关闭容器,中断,非正常关闭。
注:shutdown是window中一条内部命令,输入命令的时候要加上bat
这两条命令都在bin目录下
7.Tomcat的目录结构
了解Tomcat每个目录的作用
目录名 作用
bin 存放可执行的文件:startup.bat和shutdown.bat
conf 存放tomcat的配置文件:server.xml
lib 存放tomcat依赖的第三方jar包
logs 存放tomcat运行的日志信息
temp 存放tomcat运行的一些临时的文件
webapps **重点:**存放我们的网站程序(项目)
ROOT:默认的程序 http://localhost:8080/就是访问ROOT这个程序
work 工作目录,JSP编译后的文件
8.Tomcat启动时常见的问题
问题1:未设置JAVA_HOME环境变量
出错信息
2. 解决办法

问题2:端口号被占用
出错信息
查看日志文件:
解决方法:
方法一:找到占用端口号的程序,进程杀掉。
方法二:修改tomcat的端口号(找到conf/server.xml文件)
修改69行端口号配置,大于1024以上。
要重新启动tomcat
9. IDEA绑定tomcat
配置步骤

配置好的后的界面,点击OK

为什么在idea里面配置tomcat?
以后使用idea操作tomcat启动、关闭、部署项目方便 |
|