【JavaWeb学习笔记】0-理论基础

一、C/S、B/S架构

  • C/S架构

Client/Server,客户端/服务器架构。
例: QQ、飞信

  • B/S架构

Browser/Server,浏览器/服务器架构。 例:网页

二、Web访问中的角色与协议


Web访问整个过程中,主要包含这四个角色,他们之间的通信依赖三个协议。

  • HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protocol)

针对网络上的客户端 与 服务器端在执行http请求的时候,遵守的一种规范。 其实就是规定了客户端在访问服务器端的时候,要带上哪些东西, 服务器端返回数据的时候,也要带上什么东西。

  • Servlet协议:JavaEE协议的一部分。

由Sun公司制定的一种用来扩展web服务器功能的组件规范。(接口)

  • JDBC协议:服务器端程序与数据库连接的接口

三、Tomcat服务器

实现JavaEE协议的一种服务器。

  • 目录结构

bin:存放各种命令。(startup.bat、shutdown.bat用于开启和关闭服务器)
conf:存放各种配置文件。(server.xml、tomcat-users.xml)
lib:运行类库。
logs:运行日志。
temp:运行临时文件目录
webapps:存放具体的web应用。
work:jsp文件转换编辑结果的存放目录

四、JavaWeb项目结构

JavaEE规范要求JavaWeb项目的程序结构是:


  • 在命令行打war包
jar cvf d:\abc\myprimary.war .  //生成文档存放的路径 .表示当前目录所有文件都打包

五、Tomcat核心

Tomcat核心配置都集中在Tomcat安装目录下的conf\server.xml文件中,其核心结构如下图所示。 

  • localhost主机域名

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

name:主机名。
appBase:该主机对应的目录。相对于Tomcat安装目录的相对路径。
unpackWars:是否自动解压war包。
autoDeploy:服务器在运行状态下,将一个项目的war包放入当前目录下是否自动部署到服务器上

配置虚拟目录:A、在<host>下添加子标签<Context/>

<Context path="/myprimary" doBase="d:/02-primary"/>

path:指定在当前主机域名下访问该应用的URI.
docBase:指定应用目录的路径。

B、在conf\Catalina\主机域名 下新建一个xml文件。

<?xml version="1.0" ?>
<Context docBase="d:/02-primary"/>

path即为该xml的文件名。

配置虚拟主机:
1、创建应用存放的目录

放在与webapps下并列目录下

2、修改server.xml文件

添加<Host>标签。

<Host name="www.Tooi.com" appBase="mywebapps"  
      unpackWARS="true" autoDeploy="true">
  • 修改端口号

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

修改port值

六、HTTP1.1协议

HTTP协议包括:请求协议和响应协议

  • 请求协议

请求行:请求方式+URI+请求协议版本号
请求报头:各种请求参数,格式 "参数名":"参数值"
空白行:分离请求报头与请求正文。
请求正文:请求参数和参数值。 

  • 响应协议

响应行:请求协议版本号 +状态码+状态描述信息
响应报头:各种响应参数,格式 "参数名":"参数值"
空白行:分离响应报头与响应正文。
请求正文:响应数据所形成的HTML文件内容

  • 状态码

2xx:响应成功。
4xx:请求错误,404表示资源找不到
5xx:服务端错误,500一般表示Java代码发生错误。

  • 指定错误页面

在web.xml添加

<error-page>
    <error-code>404</error-code>
    <location>error.html</location>
</error-page>
  • GET请求

将请求参数作为URI的一部分。
参数值只能是字符串。 可以携带数据量小。 数据安全性低。
客户端收到GET请求响应会自动缓存响应,当客户端再次提交时,浏览器会直接读取本地缓存,提高响应速度,减轻服务器压力。

  • POST请求

请求数据在请求正文。
数据类型可以是任意类型,数据量大,安全性高

  • 默认请求提交方式     
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值