软件开发的两种架构:c/s和b/s         

* C/S     client/server     客户端/服务器     例子:QQ     快播     暴风影音...
          * 优点:交互性非常好,服务器压力小。
          * 缺点:客户端软件,下载客户端软件。
                   
     * B/S     Browser/server     浏览器/服务器     例子:购物网站     12306购票     淘宝
          * 缺点:交互性不好(ajax),服务器压力大。
          * 优点:服务器端进行更新,打开浏览器刷新。


Web开发的相关知识                    
          * 静态的WEB资源
               * HTML CSS JAVASCRIPT              
          * 动态的WEB资源    
               * Servlet/JSP     SUN提供了
               * ASP               微软
               * PHP               模板(mysql php )
               * RUBY             日本              
               * JAVA:           处理大数据。淘宝。

* 服务器的概念:
               * 底层原理:网络编程。
               * 硬件:一台主机。
               * 软件:安装服务器软件。
              
               * 访问:
                    * ip+端口号
                    * 119.75.217.56 -- 域名
                   
          * 常见的服务器
               * WebLogic     BEA的公司开发     但收费  支持JAVAEE的所有规范。被oracle收购(sun(java) mysql(数据库) WebLogic)
               * WebSphere     IBM的公司开发     但收费     支持JAVAEE的所有规范。
               * Tomcat     apache(开源组织,非常伟大)支持Servlet/JSP的规范。

使用tomcat的6.x的版本
               * 前提条件:安装JDK,配置JAVA_HOME
               * 安装tomat,(解压版),启动服务器:tomcat/bin/startup.bat。双击启动了。C:\Program Files (x86)\Java\jdk1.6.0_16
               * 如果黑色窗口一闪而过,需要配置JAVA_HOME。              
              
          * 常见的启动问题
               * 安装JDK,配置JAVA_HOME
              
               * 端口占用的问题。
                    * 端口被占用。
                    * java.net.BindException: Address already in use: JVM_Bind
                    * 解决问题:
                         * 在dos窗口中输入 netstat -ano命令,查找8080端口,找到PID
                         * 任务管理器结束PID就OK了。
                        
                         * 修改tomcat服务器的端口号。修改tomcat的配置文件。
                         * tomcat/conf/server.xml修改tomcat的端口号。
                              <Connector port="80" protocol="HTTP/1.1"
                                 connectionTimeout="20000"
                                 redirectPort="8443" />
                         * 重新启动服务器。                               
                         * 带 World wide web publish IIS服务。                        
                             
          * tomcat的目录结构
               * bin(**)               存放批处理的文件
               * conf(*****)          tomcat配置文件
               * lib(***)               存放jar包
               * logs(***)           日志
               * temp(**)               临时文件
               * webapps(*****)     web applications存放项目的
               * work(*****)          jsp的时候,翻译serlvet

* 开发一个动态的WEB资源,固定的目录结构
               * 在webapps的目录下,创建一个目录。
               website
                    | --- 静态的页面(HTML CSS JAVASCIPT JSP)
                    | --- WEB-INF
                              | --- web.xml     配置文件                              必须有的
                              | --- lib          (文件夹,第三方的jar包)          可选的
                              | --- classes     (文件夹,存放.class文件)          可选的

myeclipse配置tomcat
               * window -- 选择 -- (搜索servers)MyEclipse -- Servers -- tomcat -- 选择tomcat6.x的版本
                   
                    * 选择Enable -- 配置tomcat的路径 -- 选择tomcat的根路径 
                    * 配置JDK(点tomcat的+号) -- 配置JDK -- 选择JDK就ok了。
                   
               * 新建的WEB项目,部署tomcat服务器中,启动服务器。
              
               * 虚拟路径:访问路径(项目名称)。
               * 直接复制web项目,修改虚拟路径。
                    * 右键 -- 属性 -- MyEclipse -- web -- 修改虚拟路径。                

* tomcat管理员的配置(了解)
     * 在tomcat/conf/tomcat-user.xml
          <role rolename="manager"/>
          <user username="admin" password="admin" roles="manager"/>              
              
     * 部署web应用程序(三种方式)(重点)
               * 直接复制项目到webapps目录下。
                   
     * 通过conf/server.xml中配置虚拟路径的方式(开发中使用,但是tomcat不推荐使用)
                    * 标签<Context docBase="项目的真实路径" path="访问路径" ></Context>
                    * Context需要配置Host标签下。
                   
     * 在指定的文件夹下编写 xxx.xml,把xxx作为访问路径。(推荐使用的)
          * 在哪个文件夹下:($CATALINA_HOME/conf/[enginename]/[hostname]/ directory.)
          * tomcat/conf/Catalina/localhost/xxx.xml
          * 编写的xml:
               * <Context docBase="项目的真实路径" ></Context>

     //访问时直接http://localhost/xxx/


* 通信
               * 百度的ip:119.75.217.56
               * 翻译ip,先去自己的电脑hosts文件,如果找不到,网络上。
                   
          * 了解配置虚拟主机。
               * 先找到hosts文件。C:\WINDOWS\system32\drivers\etc\hosts   修改为: 127.0.0.1 www.baidu.com           
              
               <Host name="www.taobao.com"  appBase="C:\taobao"
                         unpackWARs="true" autoDeploy="true"
                         xmlValidation="false" xmlNamespaceAware="false">
              
                    <Context docBase="\mytaobao" path="/" ></Context>
               </Host> 
          接下来配好index.html页面即可直接www.taobao.com访问


HTTP的协议
          * 协议:遵循一定规范的数据格式。
          * 特点:
               * 基于请求和响应的模式。(先有请求再有响应)
               * 基于tcp的链
               * 默认端口是80
              
          * 使用telnet命令完成http入门
               * 开启telnet命令。
               * telnet localhost 80
               * 会产生乱码,解决问题:ctrl+],回车。
               * telnet命令,不支持删除。
              
          * 服务器发送一次请求    
               GET /aa/1.html HTTP/1.1
               host:localhost
              
          * 服务器做出了响应
               HTTP/1.1 200 OK
               Server: Apache-Coyote/1.1
               ETag: W/"20-1413703905727"
               Last-Modified: Sun, 19 Oct 2014 07:31:4
               Content-Type: text/html
               Content-Length: 20
               Date: Sun, 19 Oct 2014 07:37:51 GMT
              
               <h1>hello world</h1>
              
          * HTPP协议的版本(面试题)
               * HTTP/1.0
                    * 发送一次请求,拿到web资源后,链接会自动断开。
                   
               * HTTP/1.1
                    * 发送一次请求,拿到web资源后,链接不会断开,如果长时间不操作,会自动断开。
                   
                   
                    GET /aa/1.html HTTP/1.0
                    host:localhost    
                    GET /aa/1.html HTTP/1.1
                    host:localhost         
         
          * 请求:
               * 请求行:
                    * 请求方式
                         * POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
                         * 常用post和get
                         * 区别:....
                             
                    * 请求路径
                         *
                    * 协议版本
                         * HTTP/1.1
               * 请求头
                    Accept: text/html,image/*   
                    Accept-Charset: ISO-8859-1
                    Accept-Encoding: gzip
                    Accept-Language:zh-cn
                    Host: www.itcast.com:80
                    If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT
                    Referer: http://www.itcast.com/index.jsp
                    User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
                    Connection: close/Keep-Alive  
                    Date: Tue, 11 Jul 2000 18:23:51 GMT
                   
                    * 重点的头
                         * If-Modified-Since          可以控制缓冲,需要和响应的头一起来使用。
                         * Referer                    记住当前网页的来源。(防止盗链)
                         * User-Agent               判断当前的浏览器类型
                        
               * 空行
               * 请求体:就是post提交时,保存参数列表的。              
              
          * 响应:
               * 响应行
                    * 协议版本
                    * 状态吗
                        
                         200 :请求成功处理,一切OK
                         302 :请求重定向
                         304 :服务器端资源没有改动,通知客户端查找本地缓存
                         404 :客户端访问资源不存在
                         500 :服务器内部出错
                        
                    * 状态码描述
                        
               * 响应头
                    Location: http://www.it315.org/index.jsp
                    Server:apache tomcat
                    Content-Encoding: gzip
                    Content-Length: 80
                    Content-Language: zh-cn
                    Content-Type: text/html; charset=GB2312
                    Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT
                    Refresh: 1;url=http://www.it315.org
                    Content-Disposition: attachment; filename=aaa.zip
                    Expires: -1
                    Cache-Control: no-cache 
                    Pragma: no-cache  
                    Connection: close/Keep-Alive  
                    Date: Tue, 11 Jul 2000 18:23:51 GMT
                   
                    * 重点:
                         * Location                    可以与302完成重定向的操作
                         * Content-Type    
                         * Last-Modified               根请求头一起来完成控制缓冲的操作
                         * Refresh                    完成页面的定时刷新
                         * Content-Disposition     做下载功能时,必须使用该头。
                             
                              Expires: -1
                              Cache-Control: no-cache 
                              Pragma: no-cache
                                   * 禁用浏览器的缓冲。
                   
               * 空行
               * 响应体:服务器向客户端响应的所以内容。

07 JavaWeb的更多相关文章

  1. JavaWeb学习总结-07 Filter 学习和使用

    一 Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...

  2. JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

  3. JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet

    一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: 1 <servlet> 2 <servlet- ...

  4. 阿里云 centos 部署javaweb 应用

    今天在阿里云上部署了个javaweb应用,在此记录下步骤,以供下次使用. 服务器版本: 1.root登陆服务器 2.服务器安装FTP服务,或者直接使用winscp上传文件(简单),本文介绍安装FTP服 ...

  5. Linux下javaweb

    Linux下javaweb环境搭建 步骤: 1.使用远程工具连接上服务器,例如xsheel(ssh).filezilla(ftp) 2.JDK安装及相关配置 3.Mysql安装及相关配置 4.Tomc ...

  6. javaWEB总结(12):JSP页面的九个隐含对象

    前言 jsp本质上是一个servlet,而在jsp中有九个不用声明就可以使用的对象,我们叫他隐含对象.本文基于上文所写,如有需要可查看上一篇文章javaWEB总结(11):JSP简介及原理. 打开上次 ...

  7. Javaweb 第7天 Servlet课程

    Servlet课程 三日大纲 ● 网络概念,专业术语 ● Tomcat使用,发布网站,使用Myeclispe发布网站(搭建环境) ● 编写Servlet,Servlet生命周期 ● 用户注册,显示所有 ...

  8. javaWeb学习总结(1)- Tomcat服务器学习和使用(2)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml ...

  9. javaweb部署多个项目(复制的项目)

    最近需要在一台服务器部署两个已经编译完了的javaweb项目,但是因为项目名一样,仅修改文件夹的名字无法实现两个项目共存,最后只能考虑采用部署多个tomcat服务器的方法来实现.搜索后终于找到个好方法 ...

随机推荐

  1. asp.net Excel数据导入到数据库中

    protected void Btn_Import_Click(object sender, EventArgs e) { bool Result_Import = false; bool Resul ...

  2. Mac 安装 eclipse

    总是看着安卓的代码感觉手痒痒,闲来无事在 Mac 端安装了一下eclipse 提高逼格. 1.官网(http://www.eclipse.org/downloads/)下载所需的安装包,具体步骤如图: ...

  3. python基础——使用模块

    python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...

  4. 1.1 STL 概述

    综述   STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R M ...

  5. hdu 1711Number Sequence

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 数字KMP,原来还能这么用 #include<stdio.h> ],b[]; ]; ...

  6. hdu 1257 最少拦截系统

    #include<time.h> #include <cstdio> #include <iostream> #include<algorithm> # ...

  7. 趣味C++

        用三段 140 字符以内的代码生成一张 1024×1024 的图片 Kyle McCormick 在 StackExchange 上发起了一个叫做TweetableMathematical A ...

  8. JS添加MD5,JS提示框

    http://pan.baidu.com/s/1kTmSp9t

  9. 与你相遇好幸运,mbview的mbtiles文件分析

    mbview是一个查看.mbtiles文件的本地程序. https://github.com/mapbox/mbview .mbtiles文件就是一个Sqlite文件,用Navicat Premium ...

  10. Shell编程基础教程4--控制流结构

    4.控制流结构    4.1.控制结构            4.2.if then else语句        格式: if 条件1 //如果条件1为真 then 命令1 //那么,执行命令1 el ...