• 07 JavaWeb


    软件开发的两种架构: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)Javajdk1.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:WINDOWSsystem32driversetchosts   修改为: 127.0.0.1 www.baidu.com           
                  
                   <Host name="www.taobao.com"  appBase="C: aobao"
                             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
                                       * 禁用浏览器的缓冲。
                       
                   * 空行
                   * 响应体:服务器向客户端响应的所以内容。
    ---------thinking、architecture、code、treasure---------
  • 相关阅读:
    【思维】P5461 赦免战俘——两种有趣思路,分析推导
    雍正剑侠图人物关系图(2014-11-24 更新)思海整理
    h5 jq实现瀑布流
    jQuery省级联动
    jQuery 分页kkpager
    js jquery 常用函数集合
    h5 富文本编辑器
    向上取整,向下取整,四舍五入等
    前端常用的三大缓存
    jquery 跳转,刷新,返回,判断浏览器型号
  • 原文地址:https://www.cnblogs.com/elaa/p/4051005.html
Copyright © 2020-2023  润新知