3.JavaWeb开发入门

1.web服务器原理:
这里写图片描述

2.面试题:
请说出互联网上常用协议的工作端口:
http (web服务器):80
smtp邮件发送协议: 25
pop3: 110
ftp: 23
https: 443

3.配置web应用虚拟目录的映射:
①在server.xml中配置,需要重启服务器 。
path=“” 什么都不写,就是设置缺省虚拟目录

这里写图片描述

这里写图片描述

②不重启,在conf\Catalina\localhost中写一个xml,写Context,对外路径就是xml的名字。
xml的名字用#隔开的话,就是设置多级虚拟目录。
xml的名字用ROOT,就是设置缺省虚拟目录。(需要重启)

③自动配置,把web应用目录放在webapps下。

4.web应用的组织结构

这里写图片描述

5.web.xml配置首页
这里写图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1">





<welcome-file-list>
        <welcome-file>1.html</welcome-file>
    </welcome-file-list>

</web-app>

访问:http://localhost:8080/mail
如果把mail配置缺省的,就是:
访问:http://localhost:8080
如果把服务器端口改成80,就是:
访问:http://localhost

6.配置虚拟主机:

①服务器的server.xml:
<Host name="www.sina.com" appBase="C:\sina">
    <Context path="/mail" docBase="c:\sina\mail"/>
</Host>

②配置本地DNS,hosts文件:
    100.64.98.103  www.sina.com

7.其他问题:
①web资源访问流程
这里写图片描述
这里写图片描述

②打包web应用war:
jar -cvf news.war news

③配置context元素的reloadable元素,让tomcat自动加载更新后的web应用:
(配置后有改动就会重新加载,容易内存溢出,小程序可以用)

<Host name="www.sina.com" appBase="C:\sina">
    <Context path="" docBase="c:\sina\mail" reloadable="ture"/>
</Host>

④tomcat的体系结构
这里写图片描述

④软件密码学:

对称加密:缺点:密码本无法安全告诉对方。

非对称加密:生成公钥,私钥。公钥只能解私钥,私钥只能解公钥。双方各执,带着私钥或者公钥发送。
    存在问题①:避免公钥被拦截后发送他人的公钥。
    解决:通过三方的机构CA担保,给对方发一个数字证书(里面包含公钥),对方把数组证书发过来,接收方
        开始进行数字证书的认证,确定公钥是对方的。
    示例:网银网站进去后会给你数字证书,IE浏览器认证通过后进行安装,获得银行的公钥。然后将账号密码加密发给银行。
    存在问题②:避免数字证书被拦截后人为修改发送:
    解决:接收方也生成公钥私钥,把公钥给对方,再对文件的摘要(MD5算法得到)用自己的私钥加密(签名)发出去。
    对方用自己的公钥解密数据摘要,确定是对方发的,然后用自己的私钥得到文件的摘要,两个摘要对比,确定文件没有被篡改。

这里写图片描述

⑤配置https连接器
这里写图片描述

服务器:
为网站生成一个数字证书 : keytool -genkey -alias tomcat -keyalg RSA
配一个加密的连接器
server.xml:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" keystoreFile="conf/.keystore" keystorePass="123456"/>


浏览器:
浏览器收到安装数字证书(网站的公钥),用公钥把数据加密传给服务器
此处配置的只是单向加密连接器,实际开发中应配置https的双向加密连接器。
如果浏览器被钓鱼网站劫持,则不会检测数字证书是否是认证的,给你一个未认证的数字证书(公钥)并安装,当你发送数据时,数据会被钓鱼网站劫持并解密。

解决方案:银行会发给你一个U宝,数字证书在U宝里面,插入的时候就直接把银行的证书安装了,不通过浏览器。

⑥tomcat服务器管理平台

tomcat-users.xml:

  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager-gui"/>    
  <user username="tomcat" password="tomcat" roles="tomcat,manager-gui"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>

8.http协议:
http1.0:每次只能获取一个web资源
http1.1:可以连续获取多个资源

要尽量减少http请求。

①http请求:

一个请求行,若干请求头,和实体内容

这里写图片描述

请求行—请求方式:

这里写图片描述

请求头:

这里写图片描述

这里写图片描述

②http响应:

一个状态行,若干响应头,和实体内容

这里写图片描述

状态行—状态码:

这里写图片描述

响应头:

这里写图片描述

这里写图片描述

案例:

①响应头-请求重定向

这里写图片描述

②响应头-数据压缩

这里写图片描述

③响应头-通知浏览器以哪个方式保存数据

这里写图片描述

④响应头-控制浏览器自动刷新时间和刷新地址

这里写图片描述

⑤响应头-通知浏览器以下载方式保存数据

这里写图片描述

③http实用头Range:实现断点下载
这里写图片描述

请求头代码
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值