1.web服务器
开发和部署web项目,需要web服务器的支持,将静态web或动态web资源与web服务器绑定,用户通过浏览器间接访问资源。如Windows中IIS,默认使用80端口,监听客户的请求。
WebLogic:(商业)目前应用最广泛的Web服务器,支持J2EE规范(包含13种技术)
Apache:免费服务器Tomcat,支持全部JSP以及Servlet规范
WebSphere:支持J2EE,IBM公司
2.Tomcat启动问题
a)通常启动Tomcat时一闪而过,可能需要配置Java_Home环境变量,指定JDK位置
b)端口占用问题
Tomcat启动需要的端口,被其它程序占用,引发异常.
解决:cmd命令下netstat -ano 查看端口对应的PID,在任务管理器中-->选择列-->PID,结束对应进程
c)Catalina_home环境变量
Tomcat在安装过程中,引导设置JDK的目录和安装Tomcat服务,可以不配置Java_Home、Catalina_home环境变量;
Tomcat免安装版可能使用startup.bat启动服务,需要配置Java_Home、Catalina_home环境变量(Tomcat的安装目录)
3.Tomcat目录结构
bin目录:存放启动和关闭Tomcat的脚步文件
conf目录:各种配置文件
lib目录:支持的jar包
log目录:日志
temp目录:包含运行时产生的临时文件
webapps目录:web应用
work目录:工作目录
4.web应用和虚拟映射
a)将web项目放在webapps目录下
b)在Server.xml配置文件中添加Context节点,设置虚拟目录(datong),指向本地实际目录
<Context path="/datong" docBase="c:\news\"/>
缺点:配置后,必须重启服务器(★★★)
c)具体配置,查看Tomcat文档(在webapps\docs目录),config-->context
5种配置虚拟目录方式
$CATALINA_BASE代表环境变量,表示Tomcat安装目录
[enginename]默认表示conf下Catalina目录
5.web应用组成结构
a)一般文件存放在web应用程序根目录下(外界直接访问)
b)WEB-INF(根目录):(无法非法直接访问,服务器调用)
class目录:java类
lib目录:jar包
web.xml配置文件
6.配置虚拟主机
一个Tomcat服务器下,可配置多个主机,具体配置查看Tomcat文档
a)conf下server.xml默认配置Host节点,通过浏览器,来访问服务器资源
<Host name="localhost" appBase="webapps" />
如:
<Host name="www.test.com" appBase="C:\web">
<Context path="/mail" docBase="c:\web\mail" />
</Host>
b)修改本地host,设置c:\windows\system32\drivers\etc\hosts
7.打包(在tomcat运行中,放到webapps下,自动解包)
jar -cvf 名称.war 目录
8.context的reloadable,改动程序后是否自动加载
9.web资源访问流程
1)浏览器-->本地Host-->服务器-->主机-->资源-->响应
2)浏览器-->DNS-->服务器-->主机-->资源-->响应
视频web开发入门第四天视频07
10.了解密码学与HTTPS
视频web开发入门第四天视频09
11.HTTP协议
用于定义客户端与WEB服务器通讯的格式
1)使用telnet连接Tomcat,观察响应信息
命令:telnet localhost 8080
输入:
GET /test/1.html HTTP/1.1
Host:
2)HTTP1.0与1.1区别
1.0中,一次只能获取一个web资源,1.1一个连接上获取多个web资源
3)优化响应
<html>
<body>
<img src="1.jpg" />
<img src="2.jpg" />
</body>
</html>
在客户端连接上服务器后,一共发出3个请求,减少HTTP的请求数来优化的目的。
12.HTTP请求
客户端连接上服务器后,向服务器发送一个HTTP请求。
完整的格式包括:一个请求行、若干请求头、以及实体内容。
请求行:客户端的请求方式 (GET,POST)、请求资源名称、HTTP协议版本号
请求头:客户端环境信息
内容:如果是POST请求,包含内容
13.HTTP响应
一个响应表示服务器向客户端回送的数据。
包括:一个状态行、若干消息头、内容实体
状态行:HTTP版本号 状态码 原因,如HTTP/1.1 200 OK
注:状态码、请求头、响应头含义见文档
14.请求头字段Range实现断点续传功能
视频web开发入门第四天视频15
15.例子
开发和部署web项目,需要web服务器的支持,将静态web或动态web资源与web服务器绑定,用户通过浏览器间接访问资源。如Windows中IIS,默认使用80端口,监听客户的请求。
WebLogic:(商业)目前应用最广泛的Web服务器,支持J2EE规范(包含13种技术)
Apache:免费服务器Tomcat,支持全部JSP以及Servlet规范
WebSphere:支持J2EE,IBM公司
2.Tomcat启动问题
a)通常启动Tomcat时一闪而过,可能需要配置Java_Home环境变量,指定JDK位置
b)端口占用问题
Tomcat启动需要的端口,被其它程序占用,引发异常.
解决:cmd命令下netstat -ano 查看端口对应的PID,在任务管理器中-->选择列-->PID,结束对应进程
c)Catalina_home环境变量
Tomcat在安装过程中,引导设置JDK的目录和安装Tomcat服务,可以不配置Java_Home、Catalina_home环境变量;
Tomcat免安装版可能使用startup.bat启动服务,需要配置Java_Home、Catalina_home环境变量(Tomcat的安装目录)
3.Tomcat目录结构
bin目录:存放启动和关闭Tomcat的脚步文件
conf目录:各种配置文件
lib目录:支持的jar包
log目录:日志
temp目录:包含运行时产生的临时文件
webapps目录:web应用
work目录:工作目录
4.web应用和虚拟映射
a)将web项目放在webapps目录下
b)在Server.xml配置文件中添加Context节点,设置虚拟目录(datong),指向本地实际目录
<Context path="/datong" docBase="c:\news\"/>
缺点:配置后,必须重启服务器(★★★)
c)具体配置,查看Tomcat文档(在webapps\docs目录),config-->context
5种配置虚拟目录方式
$CATALINA_BASE代表环境变量,表示Tomcat安装目录
[enginename]默认表示conf下Catalina目录
5.web应用组成结构
a)一般文件存放在web应用程序根目录下(外界直接访问)
b)WEB-INF(根目录):(无法非法直接访问,服务器调用)
class目录:java类
lib目录:jar包
web.xml配置文件
6.配置虚拟主机
一个Tomcat服务器下,可配置多个主机,具体配置查看Tomcat文档
a)conf下server.xml默认配置Host节点,通过浏览器,来访问服务器资源
<Host name="localhost" appBase="webapps" />
如:
<Host name="www.test.com" appBase="C:\web">
<Context path="/mail" docBase="c:\web\mail" />
</Host>
b)修改本地host,设置c:\windows\system32\drivers\etc\hosts
7.打包(在tomcat运行中,放到webapps下,自动解包)
jar -cvf 名称.war 目录
8.context的reloadable,改动程序后是否自动加载
9.web资源访问流程
1)浏览器-->本地Host-->服务器-->主机-->资源-->响应
2)浏览器-->DNS-->服务器-->主机-->资源-->响应
视频web开发入门第四天视频07
10.了解密码学与HTTPS
视频web开发入门第四天视频09
11.HTTP协议
用于定义客户端与WEB服务器通讯的格式
1)使用telnet连接Tomcat,观察响应信息
命令:telnet localhost 8080
输入:
GET /test/1.html HTTP/1.1
Host:
2)HTTP1.0与1.1区别
1.0中,一次只能获取一个web资源,1.1一个连接上获取多个web资源
3)优化响应
<html>
<body>
<img src="1.jpg" />
<img src="2.jpg" />
</body>
</html>
在客户端连接上服务器后,一共发出3个请求,减少HTTP的请求数来优化的目的。
12.HTTP请求
客户端连接上服务器后,向服务器发送一个HTTP请求。
完整的格式包括:一个请求行、若干请求头、以及实体内容。
请求行:客户端的请求方式 (GET,POST)、请求资源名称、HTTP协议版本号
请求头:客户端环境信息
内容:如果是POST请求,包含内容
13.HTTP响应
一个响应表示服务器向客户端回送的数据。
包括:一个状态行、若干消息头、内容实体
状态行:HTTP版本号 状态码 原因,如HTTP/1.1 200 OK
注:状态码、请求头、响应头含义见文档
14.请求头字段Range实现断点续传功能
视频web开发入门第四天视频15
15.例子
import java.io.IOException;
import java.io.OutputStream;
import java.net.*;
public class Main {
public static void main(String[] args) throws IOException {
String data = "hello world";
int count=1;
while (true) {
String msg=count+"."+data;
count++;
int len = msg.getBytes().length;
System.out.println("listen...");
// 套接字监听
ServerSocket server = new ServerSocket(9002);
Socket sock = server.accept();
OutputStream out = sock.getOutputStream();
// HTTP响应信息
StringBuffer sb = new StringBuffer();
sb.append("HTTP/1.1 200 OK\r\n");
sb.append("Content-Type:text/html;charset=UTF-8\r\n");
sb.append("Content-Length:" + len + "\r\n");
sb.append("Cache-Control:no-cache\r\n\r\n");
sb.append(msg);
// 输出
out.write(sb.toString().getBytes());
out.close();
sock.close();
server.close();
System.out.println(sb.toString());
System.out.println("over...");
}
}
}