Request/Response/Cookie/Session中常用方法

来源:互联网 发布:重新安装centos u盘 编辑:程序博客网 时间:2024/04/27 06:15

1.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);    }}

2.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);    }}

3.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);    }}

4.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);    }}
阅读全文
0 0
原创粉丝点击