美文网首页
Java中级(三)

Java中级(三)

作者: kelaody | 来源:发表于2019-05-10 19:47 被阅读0次

    HttpServletRequest:一次来自客户端的请求的相关信息
    请求行
    request.getMethod() 获取http请求方式
    request.getRequestURI() 获取统一资源标识符
    request.getRequestURL() 获取统一资源定位符
    request.getQueryString() 获取查询字符串
    request.getProcotol() 获取协议版本
    request.getScheme() 获取协议名
    请求头
    request.getHeader() 获取请求头信息
    request.getHeaderNames() 获取所有请求头的名字
    实体内容
    request.getParameter() 获取请求实体中的参数、或URL后的请求参数
    request.getInputStream() 获取请求参数,当表单提交的enctype="multipart/form-data"
    网络相关信息
    request.getRemoteAddr() 获取客户端的IP地址
    request.getRemotePort() 获取客户端的端口号
    request.getLocalAddr() 获取服务器端的IP地址
    request.getLocalPort() 获取服务器端的端口号

    HttpServletResponse:一次发送给客户端的响应的相关信息
    状态行
    应答头
    response.setHeader() 设置应答头
    response.setContentType("text/html; charset=utf-8") 设置响应内容及字符集
    响应实体
    response.getWriter() 获取打印流,输出字符数据
    response.getOutputStream() 获取字节输出流,输出二进制数据

    一、客户端请求服务器的数据有乱码
    1.get方式请求
    ①修改tomcat/conf/server.xml,在<Connector> 标签中添加属性useBodyEncodingForURI="true"
    ②在获取请求数据之前,设置 request.setCharacterEncoding("utf-8");
    2.post方式请求
    在获取请求数据之前,设置 request.setCharacterEncoding("utf-8");

    二、服务器返回给客户端的数据有乱码
    response.setContentType("text/html; charset=utf-8");
    请求转发
    request.getRequestDispathcer("path").forward(reqeust,response);

    请求转发的特点:
    1.地址栏没有发生变化
    2.用户只发起了一次请求
    3.请求转发只能转发本服务器以内的资源
    4.由于请求是同一个对象,所以可以利用该request做servlet之间数据的传输

    重定向
    response.sendRedirect("path")

    重定向的特点:
    1.地址栏会发生改变
    2.用户发起了两次请求
    3.重定向可以访问服务器以外的资源
    4.重定向由于请求多次的,所以HttpServletRequest不是同一个对象,故不能使用它传递数据

    一、分析
    1.找出一个url中的项目名称
    项目名称前面的"/"是服务器地址,例:http://127.0.0.1:8080/
    项目名称后面的"/"是项目地址,例:http://127.0.0.1:8080/proejctname/
    二、判断
    1.判断一次请求行为是谁发出的
    如果是浏览器行为,则表示项目名称前面的"/",即服务器地址
    如果是服务器内部行为,则表示项目名称后面的"/",即项目地址

    1.服务器内部行为:请求转发
    2.浏览器行为:重定向、页面中form提交、页面中a标签、js中通过location.href定位一个路径

    相关文章

      网友评论

          本文标题:Java中级(三)

          本文链接:https://www.haomeiwen.com/subject/nmjzoqtx.html