JavaWeb学习一(Tomcat和基础入门)

时间:2023-01-22 13:16:52

一.常见软件系统

1.常见软件系统体系结构

(1).C/S
A.定义:C/S结构即客户端/服务器(Client/Server)例如QQ,需要编写服务器端程序 ,以及客户端程序,例如我们安装的就是QQ的客户端程序
B.缺点: 软件更新时需要同时更新客户端和服务器端两端比较麻烦
C.优点: 安全性比较好
(2).B/S
A.定义:B/S结构即浏览器/服务器(Browser/Server)
B.缺点: 安全性较差
C.优点: 只需要编写服务器端程序

2.Web资源

(1).Web资源介绍
A.html:静态资源 浏览器可以看得懂!它可以有变量
B.JSP/Servlet:动态资源 需要先转换成html,再给浏览器看
C.除Javaweb程序 还有其他Web程序 例如: ASP PHP等
(2).动态资源与静态资源的区别
(3).访问Web资源

打开浏览器 输入URL 协议名://域名:端口/路径 例如http://www.baidu.com:80/index.html 因为浏览器的默认端口号为80 所以只需要输入http://www.baidu.com/index.html

3.Web服务器

(1).作用:Web服务器的作用是接收客户端的请求 给客户端作出响应
(2).分类:
A.Tomcat(Apache):当前应用最广的JavaWeb服务器
B.JBoss(Redhat红帽): 支持JavaEE 应用比较广;EJB容器
C.Resin(Caucho): 支持JavaEE
D.Weblogic(Orcale):要钱的 支持JavaEE

二.Tomcat

1.Tomcat概述

(1).打开方式:进入Tomcat文件夹下面的bin目录下面打开startup.bat
(2).关闭方式:进入Tomcat文件夹下面的bin目录下面打开shutdown.bat

2.修改端口号

(1).修改方法:进入Tomcat文件夹下的conf/server.xml 把图下8080处改成其他端口号即可 端口号是小于等于65535的 一般我们都是设置端口号为80

JavaWeb学习一(Tomcat和基础入门)
JavaWeb学习一(Tomcat和基础入门)

3.Tomcat目录结构

JavaWeb学习一(Tomcat和基础入门)

三.Web应用

1.静态网站

在webapps目录下创建一个目录(命令必须不包含中文和空格) 这个目录称之为项目目录

在项目目录下创建一个html文件

2.动态网站

在webapps目录下创建一个项目目录
在项目目录下创建如下内容
WEB-INF目录:在WEB-INF目录下创建web.xml文件 web.xml文件的内容 我们可以去其他项目中借
创建静态或动态页面

3.配置虚拟主机

A.修改端口为80
B.绑定ip地址 和 网址的关系
C.server.xml文件中添加一个主机

四.Http协议

1.协议的定义

协议的甲乙双方 就是客户端(浏览器)和服务器 理解成双方通信的格式!

2.请求协议

请求行
多个请求头信息:头名称:头值
空行
请求体(get请求没请求体 但还是有空行)

JavaWeb学习一(Tomcat和基础入门)

3.响应协议

响应行(协议/版本 状态码 状态码的解析)
响应头(key/value格式)
空行
响应正文(html)

JavaWeb学习一(Tomcat和基础入门)

  • Server:服务器信息
  • Date:响应时间
  • Content-Type:响应内容的MIME的类型

4.个别请求头介绍

  • Referer:如果直接在地址栏上输入地址进入就没有Referer,点击链接进入Referer就返回的是http://www.baidu.com 如下代码所示:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="http://www.baidu.com">百度</a>
</body>
</html>

点击超链接进入百度,就会出现一个请求头
JavaWeb学习一(Tomcat和基础入门)
注意:Referer请求头是比较有用的一个请求头 它可以用来做统计工作 也可以用来做
防盗链

  • Content-Length:13 请求体的长度为13
  • Content-Type:application/x-www-form-urlencoded:表单的数据类型 说明会使用url格式编码数据 url编码的数据都是以”%”为前缀 后面跟随两位的16进制 比如:%E4
  • keyword=hello: 请求体内容!hello是在表单中输入的数据 keyword是表单字段的名字

5.个别响应头介绍

响应协议的格式如下:

响应首行
HTTP/1.1 200 OK 响应协议 状态码 对状态码的解释

200(请求成功) 
404(请求资源没有找到 说明客户端错误的请求了不存在的资源)
500(请求资源找到了 但服务器出问题了)
302(重定向 表示服务器要求浏览器重新再发一个请求 服务器会发送一个响应头Location 它指定了新请求的
URL地址)

304(比较If-Modified-Since的时间与文件真实的时间一样时,服务器会响应304 而且不会有响正文 表示浏览器缓存的就是最新版本!)

对响应码基本可以解释为:错误为5开头的一般都是服务器的问题,错误为4开头的一般都是客户端的问题

响应头信息
空行
响应体

  • 其他响应头
    • Expires:-1;
    • Cache-Control:no-cache;
    • Pragma:no-cache;不缓存
    • Location:302设置重定向
    • 自动刷新响应头 Refresh:3;url=http://www.baidu.com 3秒自动跳转
      这里就是可以设置响应头的位置
      JavaWeb学习一(Tomcat和基础入门)