http协议,ServletRequest和ServletResponse

Posted LRjavas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http协议,ServletRequest和ServletResponse相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

javaweb04 ServletRequest&ServletResponse

HttpServletRequest和ServletRequest的区别以及HttpServletRequest对象方法的用法

Servlet-ServletRequest

HttpServletRequest,HttpServletResponse

HttpRequest与HttpservletRequest有啥区别

http协议