web入门(tomcat+http)

通信模式
    * C/S (client、server) ,客户端与服务器。要求客户端必须安装。例如:QQ、网络游戏
    * B/S (Browser、Server),浏览器与服务器。就是通过浏览器查看网页,不需要下载客户端
    优缺点对比:
        B/S只要有操作系统和浏览器就行,与操作系统平台无关,也无需专门安装其它软件
        B/S对计算机配置要求较低,且升级方便,服务器升级即可,浏览器查看的就是最新的版本
        C/S安全性较高,响应速度快,且客户端软件使用起来更方便
    * web开发就是指网页开发,即B/S结构
    * web采用的是HTTP协议,无状态传输
        即一次传输完成之后,浏览器与服务器就不会存在任何关系
        有请求才有响应, 服务器不能主动推送消息



URL
    * URL :统一资源定位符,路径必须是完整。
    * URI :统一资源标识符,标记,有可能不完整。URI是URL的子集。
    * 格式: 
        协议://域名或IP:端口/资源路径
            协议
                http / ftp / svn / https 等
            域名或IP
                IP --> 用于在全球标识每一台计算机。IPv4 (0-255.0.0.0), IPv6
                    本机IP:127.0.0.1
                    局域网IP:192.168.3.100
                    外网IP:202.123.34.45
                域名 --> 由于IP不便于记忆,所以出现了域名,域名在使用前会先去DNS服务器查询域名对应的IP,然后再发送请求
                    本地域名:localhost
                    外网域名:www.itcast.cn
                    注意:localhost 与 127.0.0.1存在对应关系
                DNS,域名解析服务
            端口
                端口范围:0-65535 , 一般0-1024不建议使用,系统预留
                一个程序可以占用多个端口,但一个端口只能被一个程序占用。
                http协议默认端口80,如果是80端口可以省略
                tomcat端口8080
            资源路径
                请求的网址,服务器根据不同资源路径做出不同的处理



静态网页和动态网页
    动态网页是动态生成的,然后展示给用户.
    在一次请求中,服务器处理请求并动态生成相应的网页,不同的用户看到的信息可能不一样,
    如网页上登陆后出现的 XXX,欢迎您. XXX对于不同的用户看到的不一样
    静态web资源开发技术:Html
    常用动态web资源开发技术:JSP/Servlet、ASP、PHP等



常用web服务器(了解)
    * WebLogic : Oracle公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范(13种核心:Servlet、JSP等),收费
    * WebSphere : IBM公司,支持J2EE规范,收费
    * Glass Fish : Oracle中型服务器,开源
    * tomcat ;apache组织,开源。只支持:Servlet 和 JSP



开发企业级应用介绍(了解)
    ERP:企业资源计划( Enterprise Resource Planning ),针对物资资源管理(物流)、人力资源管理(人流)、财务资源管理(财流)、信息资源管理(信息流)集成一体化的企业管理软件
    CRM:客户关系管理(Customer Relationship Management)是指用计算机自动化分析销售、市场营销、客户服务以及应用支持等流程的软件系统
    BPM:业务流程管理(Business Process Management),即,是一套达成企业各种业务环节整合的全面管理模式。
    OA:办公自动化(Office Automation)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式。



J2EE的13种核心技术(了解)
    一、JDBC(Java Database Connectivity)
      JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDBC对数据库的访问也具有平台无关性。
    二、JNDI(Java Name and Directory Interface)
      JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。
    三、EJB(Enterprise JavaBean)
      J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。
    四、RMI(Remote Method Invoke)
      调用远程对象上的方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。
    五、Java IDL/CORBA
      在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和旧的系统相集成。
    六、JSP(Java Server Pages)
      JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
    七、Java Servlet
      Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
    八、XML(Extensible Markup Language)
      XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。
      XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。
    九、JMS(Java Message Service)
      JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另
      一种方式来对您的应用与旧的后台系统相集成。
    十、JTA(Java Transaction Architecture)
      JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。
    十一、JTS(Java Transaction Service):
      JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
    十二、JavaMail
      JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。
    十三、JAF(JavaBeans Activation Framework)
      JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF。 



tomcat
    * 安装
        1. 解压apache-tomcat-xxx.zip
        2. 配置JAVA_HOME环境变量,指定jdk目录
        3. 启动 : %tomcat%/bin/startup.bat
        4. 用浏览器访问 : http://localhost:8080
    * 常见问题
        tomcat的错误信息可在%tomcat%/logs/catalina.xxx.log中查看
        问题:打不开startup.bat,窗口闪烁然后消失
            报错信息:
                Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
                At least one of these environment variable is needed to run this program
            没有配置环境变量JAVA_HOME,配置一下即可
        问题:tomcat启动报错Caused by: java.net.BindException: Address already in use: JVM_Bind <null>:8080
            端口被占用
            先检查有没有开其他的tomcat
            如果没有的话,打开任务管理器,查看进程有没有javaw.exe,有的话结束进程
    * 修改端口号
        修改文件:%tomcat%/conf/server.xml
            主要修改:  
                原内容:<Connector port="8080" protocol="HTTP/1.1"
                修改后:<Connector port="80" protocol="HTTP/1.1"
            其他修改:
                原内容:
                    <Server port="8005" shutdown="SHUTDOWN">
                    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
                修改后:
                    <Server port="9005" shutdown="SHUTDOWN">
                    <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
            通常指修改最上面的即可,修改的是http协议监听的端口号
            如果想同时启动两个tomcat,则要全部修改
    * tomcat常用目录
        bin 目录:脚本 (tomcat 使用java程序编写)  --> day03/soft/tomcat6.zip tomcat源码但可以运行
            startup.bat 启动脚本
            shutdown.bat 停止脚本
        conf 目录:存放配置文件 (config)
            server.xml ,tomcat主配置文件
            tomcat-users.xml ,tomcat用户配置文件
            web.xml ,tomcat管理的所有web程序的默认配置文件
        lib 目录:所有的jar文件
            servlet-api.jar , tomcat支持javaee servlet
            jsp-api.jar ,tomcat支持javaee jsp
        logs 目录:日志目录 ,记录运行的运行过程。tomcat每一天记录一组。
            catalina.日期.log , 主记录日志文件
        temp 目录:临时目录。此目录中的内容可以随时删除。
            临时文件的扩展名 tmp
        webapps 目录 , tomcat用于存放所有的web项目。此目录下一个文件夹就是一个web项目。
        work 目录,tomcat用于处理jsp文件目录,此目录中的内容可以删除(关闭tomcat时)
    * catalina_home环境变量
        安装版本的tomcat时,进行CATALINA_HOME配置,作用:无论运行是哪一个tomcat startup.bat ,只会执行指定catalina_home指定的tomcat的startup.bat
        注意:一般不配置
    * 访问路径(在没有配置虚拟路径和虚拟主机的情况下)
        http://localhost:8080/                  -->  %tomcat%/webapps/ROOT 目录
        http://localhost:8080/a.html            -->  %tomcat%/webapps/ROOT/a.html
        http://localhost:8080/demo              -->  %tomcat%/webapps/demo 目录
        http://localhost:8080/demo/d.html       -->  %tomcat%/webapps/demo/d.html
        http://localhost:8080/demo/abc/123.html -->  %tomcat%/webapps/demo/abc/123.html
        * 精简访问路径
            1 欢迎页面
                默认访问:http://localhost:8080/demo/d.html
                配置欢迎页面:在web.xml文件添加
                    <welcome-file-list>
                        <welcome-file>d.html</welcome-file>
                    </welcome-file-list>
                访问:http://localhost:8080/demo/
            2 省略项目名称:将web项目的名称修改ROOT
                访问:http://localhost:8080/
            3 修改端口为80
                访问:http://localhost
            4 hosts文件
                配置文件位置:C:\Windows\System32\drivers\etc\hosts
                添加内容:
                    127.0.0.1       www.baidu.com
                访问:http://www.baidu.com
                在域名解析之前,先查看本地有没有记录(即hosts文件),没有的话再去DNS服务器查询
                只能修改自己的机器,对别人的机器无效,以上三个别人访问你的机器都有效
    * conf/server.xml说明
        示例:
            <Engine name="Catalina" defaultHost="localhost">
                <Host name="localhost"  appBase="webapps"
                    unpackWARs="true" autoDeploy="true">
        <Engine> 为引擎
        defaultHost属性为默认的虚拟主机
        <Host>标签代表虚拟主机
        name属性为主机名
        appBase属性为虚拟主机的根目录路径
        注意:修改server.xml后要重新启动tomcat才能使配置生效
    * 配置发布项目存放位置
        需要在conf/server.xml进行修改
        更改对应<Host>标签中appBase属性的值即可
    * 配置虚拟路径
        作用: 为一个文件夹设置虚拟的访问路径,这样也可以设置多个根目录(即不必都放在webapps目录下)
        第一种配置,需要在conf/server.xml进行修改,注意:必须重启tomcat
            <Host><Context path="/xxx" docBase="F:\myweb"/>
                path : URL中访问路径 (浏览器地址栏)
                docBase : web项目的所在盘符路径 (硬盘位置)
                注意:区分大小写
        第二种配置,需要conf/Catalina/localhost添加一个xml文件,不需要重启tomcat
            xml文件的文件名称,将作为path的值
            内容:
                <?xml version='1.0' encoding='utf-8'?>
                <Context docBase="F:\myweb"/>
            注意:Catalina 和 localhost 目录都是配置在conf/server.xml中的,如果改变了配置,则上面的目录结构也会改变
    * 设置基于主机名的虚拟主机
        作用: 如果通过多个域名访问到同一个tomcat,则tomcat可以根据访问域名的不同,进行不同的操作
        通过conf/server.xml进行配置,和别的<Host>同级
            <Host name="www.baidu.com"  appBase="F:\mywebapps"
                unpackWARs="true" autoDeploy="true">
            </Host>
        则访问www.baidu.com会访问到F:\mywebapps下的资源(当然,你得先改变hosts文件)
        而访问localhost会访问到webapps下的资源,因为下面这个是默认的
            <Host name="localhost"  appBase="webapps"
        如果域名没有找到匹配项(如直接用ip访问),则会根据<Engine name="Catalina" defaultHost="localhost">中的defalutHost中配置的主机进行处理
    * 设置基于端口号的虚拟主机(可以同时监听多个端口)
        作用: 使tomcat能够同时监听多个端口,并且根据端口不同可以进行不同的操作
        找到<Service name="Catalina">标签,将标签连内容全部复制一份放到下面
        如:
            <Service name="Catalina">
                <Connector port="8080" protocol="HTTP/1.1"
                           connectionTimeout="20000"
                           redirectPort="8443" />
                <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
                <Engine name="Catalina" defaultHost="localhost">
                  <Realm className="org.apache.catalina.realm.LockOutRealm">
                    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                           resourceName="UserDatabase"/>
                  </Realm>
                  <Host name="localhost"  appBase="webapps"
                        unpackWARs="true" autoDeploy="true">
                    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                           prefix="localhost_access_log." suffix=".txt"
                           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
                  </Host>
                </Engine>
              </Service>
        修改Service标签的name属性
        修改第一个Connector标签的port属性
        修改第二个Connector标签的port属性或直接删除那个标签
        修改Engine标签的name属性
        修改Host标签的appBase属性
        如:
            <Service name="myCatalina">
            <Connector port="80" protocol="HTTP/1.1"
                       connectionTimeout="20000"
                       redirectPort="8443" />
            <Engine name="Catalina1" defaultHost="localhost">
              <Realm className="org.apache.catalina.realm.LockOutRealm">
                <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                       resourceName="UserDatabase"/>
              </Realm>
              <Host name="localhost"  appBase="webapps2"
                    unpackWARs="true" autoDeploy="true">
                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                       prefix="localhost_access_log." suffix=".txt"
                       pattern="%h %l %u %t &quot;%r&quot; %s %b" />
              </Host>
            </Engine>
          </Service>
          这样可以用80端口进行访问,并且访问的是webapps2文件夹中的内容
          同时可以用8080端口进行访问,访问的是webapps文件夹中的内容
    * 配置用户权限
        作用: 使用户可以在tomcat首页上对tomcat进行操作
        给conf/tomcat-users.xml 添加
            <role rolename="manager-gui"/>      --> 注册角色(权限)(manager-gui是其中一种权限)
            <user username="账号名" password="密码" roles="manager-gui"/>
        然后进入http://localhost:8080中点击Host Manager即可弹出登录界面
        登录后可对tomcat进行管理



tomcat,servlet和javaee的版本关系
    tomcat版本      servlet/jsp     javaee版本  jdk版本
    7.0.x           3.0/2.2         6.0         1.6
    6.0.x           2.5/2.1         5.0         1.5



解除占用端口(了解)
    netstat -an 查看哪些端口正在被监听
    netstat -anb  查看被监听端口的详细信息
    找到端口正在被哪个程序占用,在任务管理器,或计算机右键-->管理-->服务中关闭相应程序即可
    使用命令行结束被占用端口上运行的程序
        1.取得被占用端口上正在运行程序的进程号(PID号)
            netstat -ano
            记住对应端口上正在运行程序的PID号
        2.强制结束进程
            taskkill /pid 进程号 /f
            例 taskkill /pid 7252 /f



MyEclipse配置tomcat
    Window-->Preferences-->MyEclipse-->Servers-->Tomcate x.x-->选择tomcat根目录,并Enable



tomcat中发布的web项目的目录结构
    项目文件夹
        WEB-INF目录 , 不允许浏览器直接访问 (可以没有)
            classes 目录,存放字节码文件或源码包中的其它文件。(源文件夹编译后的文件)(对应java 项目的bin目录)
            lib 目录,存放当前web项目需要jar文件 web项目添加jar之后,不需要build path(java项目,手动创建lib目录,需要build path)
            web.xml文件 ,当前web项目的配置文件,默认配置在%tomcat%/conf/web.xml中



myeclipse创建的web项目的目录结构
    项目
        src         ,源码
        WebRoot     ,通过myeclipse发布web项目时,将此目录下的所有内容都拷贝到tomcat下面 (可以在项目--属性中找到并更改配置)
            WEB-INF
                classes
                lib
                web.xml



发布web项目
    手动发布web项目
        将web项目的WebRoot下的所有内容拷贝到%tomcat%/webapps文件夹下即可
        也可以先WebRoot下的所有内容打成war包,再拷贝到%tomcat%/webapps文件夹下
    自动发布的web项目
        访问的根路径是创建web项目时填写的Context root URL的值
        即项目右键-->Properties-->MyEclipse-->Web下的Web Context-root的值,而不是项目名称



HTTP协议
    * 基于TCP协议传输协议。默认端口80,基于请求--响应模式
    * telnet模拟浏览器
        建立链接:telnet localhost 8080
        发送请求:
            发送请求前要先按ctrl+],否则不能输入,然后再按回车,进入编辑状态
            GET /myweb1/1.html HTTP/1.0
            Host:localhost
            GET /demo/userServlet?username=李凯昊 HTTP/1.1
        服务器响应
            HTTP/1.1 200 OK
            Server: Apache-Coyote/1.1
            Accept-Ranges: bytes
            ETag: W/"29-1385450900391"
            Last-Modified: Tue, 26 Nov 2013 07:28:20 GMT
            Content-Type: text/html
            Content-Length: 29
            Date: Tue, 26 Nov 2013 07:51:23 GMT
            Connection: close

            webapps tomcat default a.html
        注意:win7 telnet命令默认是不可用的,需要开启一下.步骤: 控制面板-->程序-->打开或关闭Windows功能-->telnet客户端 和 telnet服务器
    * http协议版本
        HTTP/1.1,一个链接,多个请求,多个响应
        HTTP/1.0,一个链接,一次请求,一次响应。



http请求--request
    * 请求示例:
        参数均为username=李凯昊&password=123
        get请求
            GET /demo/?username=%E6%9D%8E%E5%87%AF%E6%98%8A&password=123 HTTP/1.1
            Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*
            Referer: http://localhost:8080/demo/
            Accept-Language: zh-CN
            User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
            Accept-Encoding: gzip, deflate
            Host: localhost:8080
            Connection: Keep-Alive
            Cookie: JSESSIONID=17AC598659C4FD9316D2E4F2F2C5CCF8
        post请求
            POST /demo/ HTTP/1.1
            Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*
            Referer: http://localhost:8080/demo/
            Accept-Language: zh-CN
            User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
            Content-Type: application/x-www-form-urlencoded
            Accept-Encoding: gzip, deflate
            Host: localhost:8080
            Content-Length: 49
            Connection: Keep-Alive
            Cache-Control: no-cache
            Cookie: JSESSIONID=17AC598659C4FD9316D2E4F2F2C5CCF8

            username=%E6%9D%8E%E5%87%AF%E6%98%8A&password=123
        注意:超链接也是get请求,参数也放在请求行中,不过参数没有经过url的编码处理
        (超链接和手动在地址栏输入一样,但get请求和手动在地址栏输入不一样,会先进行url编码处理)
    * 格式:请求行、请求头、请求体
    * 请求行
        例如:GET /myweb1/1.html HTTP/1.1
        格式:请求方式 资源路径 协议/版本
            请求方式:共7种,常用2种:POST、GET
                POST,将请求参数添加到请求体中,一般情况看不到。安全,还可以传输大数据
                GET,将请求参数追加到URL之后(即参数在请求行中),第一个参数与URL使用?分隔、其他参数与第一个参数使用&分隔。可以在地址栏显示,长度有限1024字符,不安全。
                    例如:http://192.168.3.100:8080/myweb1/1.html?username=jack&password=1234
    * 请求头:
        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)  --浏览器和操作系统信息
        Cookie:JSESSIONID=3F56EB28E5E2D25219E0054CABBDDEC7              --cookie信息
        Connection: close/Keep-Alive                                    --链接状态
        Date: Tue, 11 Jul 2000 18:23:51 GMT                             --时间
    * 请求体:
        post请求通过请求体传递参数
        请求体与请求头之间存在一个空行



http响应--response
    * 响应示例
        HTTP/1.1 200 OK
        Server: Apache-Coyote/1.1
        Content-Type: text/html;charset=utf-8
        Content-Length: 651
        Date: Tue, 21 Oct 2014 13:36:26 GMT



        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
        ...
    * 格式:响应行、响应头、响应体
    * 响应行
        例如:HTTP/1.1 200 OK
        格式:协议/版本 状态码 状态码对应的描述信息
            状态码
                1xx 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
                2xx 表示成功接收请求并已完成整个处理过程,常用200
                    200 正常
                3xx 请求已经部分完成,需要进一步完全其他请求,使整个请求全部完成。例如,请求的资源已经移动一个新地址,常用302、307和304
                    304 请求资源浏览器已经缓存了,并且与服务器的资源相同,需要浏览器读取本地缓存。
                    302 当前请求已经完成,但需要进一步再一次发送请求,请求到location指定的位置。重定向
                4xx 客户端的请求有错误,常用404
                    404 页面不存在
                5xx 服务器端出现错误,常用 500
                    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   --下载
        Set-Cookie:SS=Q0=5Lb_nQ; path=/search               -- 客户端需要存储的cookie
        Expires: -1                                         --缓存
        Cache-Control: no-cache                             --缓存
        Pragma: no-cache                                    --缓存
        Connection: close/Keep-Alive                        --连接
        Date: Tue, 11 Jul 2000 18:23:51 GMT                 --时间
    * 响应体
        返回的页面Html代码或其它内容(图片),浏览器将解析html代码,显示页面
        响应体与响应行之间有个空行。
    * 小应用
        设置字符集,处理中文乱码
            response.setHeader("content-type","text/html;charset=utf-8");
        重定向
            response.setHeader("location","form.html");
            response.setStatus(302);
        定时刷新页面(秒)
            response.setHeader("refresh","3");
        指定秒数后跳转到指定页面
            response.setHeader("refresh","3;url=form.html");


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值