我是靠谱客的博主 高大板栗,最近开发中收集的这篇文章主要介绍Request/Response/Cookie/Session中常用方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自:https://blog.csdn.net/baidu_37107022/article/details/72822999
一、request

package com.tcb.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 目的:总结HttpRequest中常用的方法
 */
public class Servlet01Request extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public Servlet01Request() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //一、路径问题:
        //1.上下文路径: /TCB-Request01           当前项目目录(重要的)
        String contextPath=request.getContextPath();
        System.out.println("======contextPath======="+contextPath);
        //2.uri--统一资源标识符:  /TCB-Request01/Servlet01 服务器上的路径
        String uri=request.getRequestURI();
        System.out.println("======uri======="+uri);
        //3.url--统一资源定位符:  http://localhost:8080/TCB-Request01/Servlet01
        String url=request.getRequestURL().toString();
        System.out.println("======url======="+url);//
        //统一资源标识符=http://localhost/资源标识符
        //访问的地址:统一资源定位符


        //二、提交方式--GET/POST    默认是GET方式,此处运行结果为GET
        String method=request.getMethod();
        System.out.println("======method======="+method);

        //三、服务器内部--根据需求设置要传的值,并在其他页面根据Request获取值--利用的Request是域对象的特性,进行页面见传值
        //注意:区别于Parameter
        request.setAttribute("key", "value");
        request.getAttribute("");//根据名称获取指定传的值
        request.getAttributeNames();//获取所有的传值的名称


        //四、客户端--获取客户端传来的参数Parameter--比如get方式中地址栏问号?后的username=Jane&password=123
        //1.根据指定参数名称获取值
        request.getParameter("");//值为单个时
        request.getParameterValues("");//值为多个时,返回值为数组--比如爱好hobby,一个参数名下对应多个值
        //2.获取所有参数名称
        request.getParameterNames();
        //3.获取所有参数,并一键值对(key=value)的形式存在map集合中
        request.getParameterMap();

        //五、获得Cookie和session
        request.getCookies();
        request.getSession();
        request.getRequestedSessionId();//获取session的id,每个session都会在客户端生成一个唯一的id

        //六、设置编码方式
        request.setCharacterEncoding("utf-8");

        //七、转发--地址栏不变,请求一次
        request.getRequestDispatcher("要跳转到的页面地址").forward(request, response);
        request.getRequestDispatcher("要跳转到的页面地址").include(request, response);//包含,功能与forward类似,不常用
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

二、response

package com.tcb.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 目的:总结HttpResponse中常用的方法
 */
public class Servlet02Response extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public Servlet02Response() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //一、设置编码--当然也可以获取编码方式,不常用就不一一列出了
        //设置响应输出的编码方式,不常用,一般用下面那个
        response.setCharacterEncoding("utf-8");
        //告诉浏览器输出的文本是html,让浏览器按照html方式进行解析,并且HTML的文件的编码格式是utf-8
        //因为在进行输出时可以写html标签,若没有设置为如下格式,就不能解析html标签
        //比如:response.getWriter().write("<a href='http://www.baidu.com' >百度<a/>");
        response.setContentType("text/html;charset=utf-8");

        //二、输出流
        response.getWriter();//字符流
        response.getOutputStream();//字节流

        //三、添加Cookie
        Cookie cookie=new Cookie("username", "用户名");
        response.addCookie(cookie);

        //四、设置请求头--常用于文件下载
        response.setHeader("content-type", "image/png");//设置请求头内容类型,为png类型图片
        //content-disposition内容配置
        //attachment代表附件的意思  保存下载内容
        response.setHeader("content-disposition", "attachment;filename="+"文件名称,带扩展名");

        //setHeader实现刷新
        //3s后刷新,只刷新一次--其中3指代时间                          所以setHeader也可以实现页面跳转
        response.setHeader("refresh", "3;url=刷新跳转的页面地址,可以是jsp,HTML,Servlet等");
        response.setIntHeader("refresh", 3);//目的:循环是刷新,每隔3s去刷新


        //五、重定向--地址栏变化,请求两次
        response.sendRedirect("要跳转到的页面地址,一般用绝对路径");


    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

三、cookie

package com.tcb.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 目的:总结Cookie中常用的方法
 */
public class Servlet03Cookie extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public Servlet03Cookie() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取Cookie
        request.getCookies();
        //创建和添加Cookie
        Cookie cookie=new Cookie("", "");//参数1:参数名   参数2:参数值
        response.addCookie(cookie);

        //设置Cookie有效时间和路径
        cookie.setMaxAge(0);//设置Cookie有效时间,单位是秒     值为0时,表示Cookie失效(默认)   
        cookie.setPath("uri,路径");//设置Cookie路径

        //获取Cookie的值和名以及当前路径
        cookie.getName();
        cookie.getValue();
        cookie.getPath();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

四、session

package com.tcb.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * 目的:总结Session中常用的方法
 */
public class Servlet04Session extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public Servlet04Session() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //创建session
        HttpSession session=request.getSession();
        //给session赋值以及获取值--参数1:参数名  参数2:参数值
        session.setAttribute("key", "value");
        session.getAttribute("");//根据传值的名称获取值
        session.getAttributeNames();//获取session中存的所有值的名称

        //设置session有效时间,单位秒
        session.setMaxInactiveInterval(5);

    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

最后

以上就是高大板栗为你收集整理的Request/Response/Cookie/Session中常用方法的全部内容,希望文章能够帮你解决Request/Response/Cookie/Session中常用方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部