推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > LRjavas > http协议,ServletRequest和ServletResponse

http协议,ServletRequest和ServletResponse

LRjavas 2018-02-16

http协议:

    什么是http协议?简单来说就是客户端和服务器端通信的数据格式,客户端与服务器端的沟通方式。。分为请求协议和响应协议。


请求协议:客户端发送请求要遵循的数据格式,如把数据封装到协议规定的格式里,发送给服务器端


响应协议:服务器做出响应要遵循的数据格式,如把html,图片封装到规定的协议里,发送给客户端


每次请求都会有响应头和请求头。




HttpServletRequest,HttpServletResponse:

上面两个接口是为了更好的应用http协议而出现的,分别继承ServletRequest接口和ServletResponse接口。


可以通过HttpServletResponse对象设置头信息,实现一些功能。

1,重定向:

    response.setStatus(302);

    response.setHeader("location",请求路径)

    //在实际项目中我们常用response.sendRedirect(请求路径)完成重定向

    

2,页面定时刷新


3,禁用缓存

    response.setHeader(“Cache-Conreol”,“no-cache”);

    response.setHeader("Prama","no-cache");

    response.setDataHeader(“Expores”,“-1”);


以上就是常用的设置头信息。


开发中HttpServletResponse对象常用的方法

1,向页面输出中文乱码问题

    response.setContentType(“text/html;charset=utf-8”);

2,向客户端输出内容

    response.getWriter.write(内容);


ServletRequest

它是servlet三大域对象之一,范围:一次请求范围内,一次请求一个request域


开发中HttpServletRequest对象常用的方法

1,操作域对象

    request.getAttribute(String name);        //向域中存值

    request.setAtrribute(String name);        //向域对象中取值

    request.removeAttribute(String name);//向域对象中移除值


2,获取项目路径

    request.getContextPath();


3,获取请求的参数

    request.getParameter(String name);


4,解决参数中文乱码问题

    post方式提交:

        request.setCharcterEncoding("utf-8");

    get方式提交:

    加入前台传了个aa=”你好“

    String name = request.getParameter(”aa“);//此时name是乱码的

    String name2 = new String(name.getBytes("ISO-8859-1").”utf-8“);//toncat默认的是ISO-8859-1,把它转为utf-8


5,转发

    request.getRequestDispatcher(请求路径).forward(request,response);



重定向和转发的区别:

2,重定向两次请求和响应,转发一次请求一次响应。

3,重定向不能使用request域对象传值(两次请求),转发可以。

4,重定向可以定向到任何网页(网络上的资源),转发只能在web应用内部





版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《http协议,ServletRequest和ServletResponse》的版权归原作者「LRjavas」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读