一、服务器,容器(软件) 1、服务器:提供网络访问的程序 2、容器:支持什么技术的服务器就叫做什么容器。比如Tomcat支持Servlet/JSP技术,又称为Servlet容器 二、http://www.apache.org 三、端口 服务器上的每个网络服务程序都对应一个端口。Tomcat默认对应的端口号是8080 Web应用的默认端口号是80 四、TOmcat依赖的JDK Tomcat6.x之前要求必须安装JDK,之后只要安装JRE就可以了 五、采用解压版本的Tomcat需要配置JAVA_HOME环境变量 Catalina_home(Tomcat的安装根目录)环境变量不建议设置 六、Tomcat的常用目录 1、bin:运行Tomcat的相关命令 2、conf:配置文件所在的目录 3、lib:Tomcat服务器运行依赖的jar包 4、logs:存放启动和运行日志 5、webapps:存放要运行的web应用。该目录中的每一个文件夹都是独立的web应用 七、JavaWeb应用的目录结构 mail -------------javaweb应用的根目录 WEB-INF ----------------javaweb应用中必须有,且必须取名为WEB-INF。放在该目录下的资源,客户端不能直接访问 classes --------------- 存放class文件 lib --------------- 存放该web应用所依赖的jar包 web.xml --------------- web应用的配置文件 八、Tomcat安装目录中lib中的jar为Tomcat和其管理的所有JavaWeb应用服务的。 每个应用中lib中的jar只为当前web应用服务 九、发布JavaWeb应用 1、开放式目录:直接将应用拷贝到webapps目录下 2、war包:进入web应用的目录,执行jar -cvf mail.war . [dos命令执行] 十、配置虚拟目录:<Context/>元素 1、Context元素:配置单个web应用 path属性:URL访问的入口 docBase属性:web应用的存放路径 reloadable属性:web应用中的资源改动后,是否自动加载。默认值是false 2、配置方式: a、修改conf/server.xml文件,在Host元素中增加Context元素。不建议使用,因为改动server.xml后,需要重新启动Tomcat才会起作用 b、在Tomcat的安装目录/conf/[enginename]/[hostname]/[appname].xml,appname就是URL访问路径。在该xml文件中增加以下内容 <?xml version="1.0" encoding="gbk"?> <Context docBase="C:\mail" /> 建议大家采用的方式 注:如果想把自己的应用当做默认应用,可以在Tomcat的安装目录/conf/[enginename]/[hostname]/目录中建立ROOT.xml文件。 那么访问这个应用就可以http://localhost:8080/a.html 若想将a.html页面配置成默认主页,需要配置web.xml文件,在其中增加以下内容: <welcome-file-list> <welcome-file>a.html</welcome-file> </welcome-file-list> 那么访问a.html我们只需要输入http://localhost:8080 十一、配置虚拟主机,即配置一个网站 打开conf/server.xml文件,增加<Host/>元素 属性: name:主机域名 appBase:该主机下的所有应用所在的文件目录 HTTP协议 一、请求消息 1、包含三大部分 1.1请求行:位于请求消息的第一行 格式:请求方式 资源路径 HTTP版本号<CRLF回车换行空格制表符> 常用请求方式:GET和POST方式 1.1.1Get请求方式: a、若请求服务器上的某个资源,没有指定请求方式,则默认为GET方式 b、可以通过GET方式向服务器传递数据。具体方式就是在URL请求路径后加上?,多个参数以&分割。比如 http://localhost:8080/a.html?username=abc&password=123 注:GET请求方式,数据不安全且有URL长度限制(1K) 1.1.2Post请求方式: a、若使用Post请求方式传递数据,可以借助form表单的method="post" b、数据安全,且长度没有限制 1.2若干消息头:从第二行开始到第一个空行。作用:向服务器传递客户端的一些基本信息 a、Accept:浏览器可接受的MIME类型(Tomcat安装目录/conf/web.xml中查找) b、Accept-Charset:告知服务器,客户端支持哪种字符集 c、Accept-Encoding:浏览器能够进行解码的数据编码方式 d、Accept-Language:浏览器支持的语言。 e、Referer:当前页面由哪个页面访问过来的。 f、Content-Type:内容类型 g、Content-Length:请求正文的长度 1.3请求正文:从第一个空行开始,后面的都是正文。(可以没有) 二、响应消息 1、包含三大部分 1.1状态行:位于响应消息的第一行 格式: HTTP版本号 状态码 原因叙述<CRLF> 1.2若干消息头:从第二行开始到第一个空行 a、Location:制定转发的地址。需与302/307响应码一同使用 b、Server:告知客户端服务器使用的容器类型 c、Content-Encoding:告知客户端服务器发送的数据所采用的压缩格式 d、Content-Length:告知客户端正文的长度 e、Content-Type:告知客户端正文的MIME类型 Conent-Type:text/html;charset=UTF-8 f、Refresh:定期刷新。还可以刷新到其他资源 Refresh:3;URL=otherurl 3妙后刷新到otherurl这个页面 g、Content-Disposition:指示客户端以下载的方式保存文件。 Content-Disposition:attachment;filename=2.jpg h、Expires:-1 Cache-Control:no-cache Pragma:no-cache 控制客户端不要缓存 1.3响应正文:从第一个空行开始,后面的都是正文。 |