• javaweb笔记三


    //写了注解,就不用在web.xml里进行注册
    @WebServlet(urlPatterns="/my",name="my",loadOnStartup=1,initParams={@WebInitParam(name="aaa",value="ddd")})

    HTTP状态码:(404:客户端异常;500:服务器异常;302:重定向异常;200:访问正常405::请求方式不对)
    100-199:表示信息性代码,标示客户端应该采取的其他动作,请求正在进行。
    200-299:表示客户请求成功。
    300-399:表示用于已经移走的资源文件,指示新的地址。
    400-499:表示由客户端引发的错误。
    500-599:表示由服务器端引发的错误。
    必须重写doGet(),不然会调用父类的response.sendError(404,"没有该页面");
    必须在输出消息前设置状态行(状态行--响应头--空行--消息体)

    响应头用于服务器告诉客户端,服务器相关的信息。可以用response.setHeader()进行设置。但是,按照servlet规范,客户端浏览器只能识别特定的
    响应头,所以,响应头的设置通常封装成了响应的方法。比如:setHeader(),setContentType(),addCookie(),sendRedirect(),addSession()
    response.setHeader("Content-Type","text/html;charset=utf-8") === response.setContentType("text/html;charset=utf-8");

    响应消息的消息体内容有两种方式:传回自定义的内容需要使用getWriter()传送普通文本:PrintWriter out = response.getWriter();
    或者getOutputStream()方法传送二进制内容:OutputStream out = response.getOutputStream();

    验证码防治用户不断暴力登录,主要是为了安全性考虑。
    //"/testweb/checkCode?a="+Math.random()清除浏览器缓存
    //随机从服务器产生随机数,不会从缓存中去取
    //浏览器存在缓存,当客户端浏览器向服务器发送请求时,会将下载的内容在浏览器缓存起来
    //如果客户端再次请求服务器的同一个页面,会先看浏览器缓存中是否有下载的资源,
    //如果有,会从浏览器缓存中获取资源如果没有,再从服务器下载
    $("#codeImg").attr("src","/testweb/checkCode?a="+Math.random());

    重定向工作流程:
    客户端向服务器发出请求,调用response.sendRedirect()产生响应时,会产生302状态码,同时产生location响应头,在location响应头中指明
    新的地址。客户端浏览器在收到响应信息以后,发现时302状态码,会读取location响应头信息,在向服务器发送第二次请求。
    java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed//重定向不能使用两次

    客户端发送GET请求:
    1、用户在网页上点击一个超连接 2、用户提交在网页上填写好的表单(method="get",默认为GET提交) 3、用户在浏览器地址栏中输入URL地址并回车
    客户端发送POST请求:
    <form method="post">
    发送大数据的时候,使用POST方法;上传文件时,使用POST方法;发送用户名、密码或其他保密信息的时候使用POST方法

    get请求好处是访问静态资源,post请求主要是用来提交表单和上传文件
    GET和POST的区别:
    1、流格式的区别:
    GET方式只有请求行、请求头、空行,没有消息体。在请求行URL后面附加表单数据。
    POST方式包括请求行、请求头、空行,消息体。在消息体中描述表单数据。
    2、用途的区别:
    GET用于资源查找,POST用于数据传输。
    3、传输性能的区别:
    GET方式只能传输文本数据,POST可以传输文本和二进制数据。
    GET方式不能传输大数据,POST可以。
    GET请求数据会显示在地址栏,POST数据在消息体中,不会显示在地址栏,相对安全。
    GET会缓存数据,POST不会缓存。

    URL包含URI

  • 相关阅读:
    eclipse文件编辑器相关概念
    Oracle ROLLUP和CUBE 用法
    eclipse插件开发常用的选择器
    oracle多cpu并行查询
    MYECLISE6.5下CDT安装
    oracle SAMPLE 语法应用
    常用的gcc命令
    vbscript获取本机的ip地址和mac地址
    什么是Single Sign On
    eclipse插件开发中全局对象的获取
  • 原文地址:https://www.cnblogs.com/lyrand/p/7719938.html
Copyright © 2020-2023  润新知