软件开发的两种架构: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. HDU 5995 Kblack loves flag ---BestCoder Round #90

    题目链接 用两个布尔数组分别维护每个行/列是否被插过旗帜,最后枚举每一行.列统计答案即可.空间复杂度O(n+m),时间复杂度O(n+m+k). #include <cstdio> #inc ...

  2. UVA 11827 Maximum GCD

    F - Maximum GCD Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Given the ...

  3. Spetember 5th 2016 Week 37th Monday

    No matter how far you may fly, never forget where you come from. 无论你能飞多远,都别忘了你来自何方. Stay true to you ...

  4. express响应前端ajax请求

    后端其实并不需要知道前端发起的请求是不是ajax,后端只需要响应请求即可.例子: 前端这样写: $('button').on('click', function(event) { event.prev ...

  5. python基础——多重继承

    python基础——多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗: Bat ...

  6. Mysql控制语句

    14.6.5.1 CASE Syntax 14.6.5.2 IF Syntax 14.6.5.3 ITERATE Syntax 14.6.5.4 LEAVE Syntax 14.6.5.5 LOOP ...

  7. Swift - 状态栏颜色显示(字体、背景)

    ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如下图:前景 ...

  8. Android缓存学习入门

    本文主要包括以下内容 利用LruCache实现内存缓存 利用DiskLruCache实现磁盘缓存 LruCache与DiskLruCache结合实例 利用了缓存机制的瀑布流实例 内存缓存的实现 pub ...

  9. 20145206《Java程序设计》第10周学习总结

    20145206 <Java程序设计>第10周学习总结 博客学习内容总结 什么是网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定 ...

  10. poj 3661 Running

    题意:给你一个n,m,n表示有n分钟,每i分钟对应的是第i分钟能跑的距离,m代表最大疲劳度,每跑一分钟疲劳度+1,当疲劳度==m,必须休息,在任意时刻都可以选择休息,如果选择休息,那么必须休息到疲劳度 ...