WEB开发B/S开发与C/S开发JavaWeb服务器介绍手写一个简单的JavaWeb服务Tomcat的相关操作
下载与安装启动启动故障排除Tomcat目录结构catalina启动Tomcat停止Tomcat Tomcat服务中部署WEB应用浏览器访问Web服务过程
到本机的host文件去查询主机名对应的IP根据查询的IP,向tomcat发出Http请求没有找到host文件,就会去外网的DNS服务器查找 IDE开发部署Tomcat
1.创建一个项目2. 点击Add framework Support3.将项目放到web目录下4. 要配置一个tomcat,用来管理我们的web应用5. 启动tomcat IDE开发部署Tomcat注意事项与细节
1. 热加载2.端口修改3.out目录是什么 Java工程目录介绍
Web服务器(Tomcat)的作用:
得到HTTP请求后,去后端将要请求的文件传回给请求者(浏览器/客户端)
Tomcat目录
| Tomcat目录名称 | 作用 |
|---|---|
| bin | 存放启动和关闭Tomcat的脚本文件 |
| conf | 存放Tomcat服务器的各种配置文件 |
| lib | 存放Tomcat服务器的支撑jar包 |
| logs | 存放Tomcat的日志文件 |
| temp | 存放Tomcat运行时产生的临时文件 |
| webapps | web应用所在目录,即供外界访问的web资源的存放目录 |
| work | Tomcat的工作目录 |
conf/server.xml 用于配置tomcat的基本设置(启动端口,关闭端口,主机名)web.xml 用于指定tomcat运行时配置(比如servlet等)webapps目录是存放web应用,就是网站
Tomcat服务中部署WEB应用
JavaWeb程序/应用/工程目录结构
部署方式1:
将 web工程的目录拷贝到Tomcat 的 webapps目录下
1.news Web工程(目前都是静态资源html,图片)
2将该news目录/文件夹拷贝到Tomcat 的webapps目录下
3.浏览器输入:http://ip[域:port/ news/子目录…/文件名
部署方式2:
1.在Tomcat 下的 conf目录Catalinalocalhost下,配置文件,比如hsp.xml(提醒:知道Tomcat通过配置,可以把一个web应用,映射到指定的目录,可以解决磁盘空间分配的问题
浏览器访问Web服务过程
在浏览器输入网址(如: http://localhost:8080/test/test.html)-->1.浏览器先从网址中解析出主机名(localhost)-->2.到本机的Host文件根据主机名找到对应的ip地址--> (如果没有找到,就会去外网的DNS服务器找)-->3.根据查询到的IP地址和对应的端口号,向tomcat发出http请求-->tomcat接收到http请求后,根据请求解析出要访问的web应用(test)-->根据请求解析出资源test.html-->在后端获取请求的资源test.html-->tomcat将结果以http相应的方式返回给浏览器-->浏览器将请求的资源解析出对应的页面
Java工程目录
Web服务器(Tomcat)的作用: 得到HTTP请求后,去后端将要请求的文件传回给请求者(浏览器/客户端)
package Tomcat;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
@SuppressWarnings("all")
public class myTomcat {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("===========我的web服务正在8888端口监听===========");
while (!serverSocket.isClosed()) {
//1.该socket用于通信
Socket socket = serverSocket.accept();
//2.通过socket得到输出流
OutputStream outputStream = socket.getOutputStream();
//3.读取hello.html文件
BufferedReader br = new BufferedReader(new FileReader("src\Tomcat\hello.html"));
String data = "";
while ((data = br.readLine()) != null) {
//4.返回给客户端/服务器
outputStream.write(data.getBytes());
}
outputStream.close();
socket.close();
}
serverSocket.close();
}
}
Tomcat的相关操作
下载与安装
启动
启动故障排除
Tomcat目录结构
在浏览器输入网址(如: http://localhost:8080/test/test.html)-->1.浏览器先从网址中解析出主机名(localhost)-->2.到本机的Host文件根据主机名找到对应的ip地址-->3.根据查询到的IP地址和对应的端口号,向tomcat发出http请求-->tomcat接收到http请求后,根据请求解析出要访问的web应用(test)-->根据请求解析出资源test.html-->在后端获取请求的资源test.html-->tomcat将结果以http相应的方式返回给浏览器-->浏览器将请求的资源解析出对应的页面
test
hello,world

抓包
请求头
响应头
第一次返回的是静态html文件,这个文件大小就是186字节
一次请求只会返回一个资源
第二次返回的是张图片
浏览器先将静态的html文件返回后,发现有一个图片资源,就会再次发出请求
注意别放错位置
4. 要配置一个tomcat,用来管理我们的web应用
点击右上边的Add Configuration
点击左上角的+号
选择Tomcat Server 下的 Local
指定tomcat的安装目录
以及一些其他设置
选择以那种方式发布应用
修改访问应用名称
on update action:表示当我们更新操作是, Tomcat 会自动更新类和资源(当jsp/html文件修改时,可以生效,但是如果你修改的java文件,,需要Redepoly才会生效)on frame deactivation:表示IDEA失去焦点(比如最小化),也会导致jsp/html发生更新,但是java修改了,还是需要Redeploy
2.端口修改
修改过后,在idea中重启tomcat即可
当tomcat启动时,会生成out目录,该目录就是原项目资源的映射,我们浏览器访问的资源是out目录
就算修改了out目录,访问的网页是会发生变化(与源文件访问的网页不同),但只要bulid项目或者重新发布项目就会以原项目为原目录更新out目录



