Servlet常用原生API Spring MVC笔记(二)

具体介绍一下三种参数:

1.HttpServletRequest
2.HttpServletResponse
3.HttpSession

1、HttpServletRequest实现的三种功能

  1. : 获得客户端信息
  2. : 获得客户机请求头
  3. : 获得客户机请求参数(客户端提交的数据)

具体实现常用的获得客户机请求参数的三种方法

  • getParameter(String)方法(常用)
  • getParameterValues(String name)方法(常用)
  • getParameterMap()方法(编写框架时常用)
    后端代码:

    /*
    * 原生 HttpServletRequest的常见用法
    * 
    * getParameter(String)方法(常用)
    * getParameterValues(String name)方法(常用)
    * getParameterMap()方法(编写框架时常用)
    * */
    @RequestMapping(value = "testServlet",method = RequestMethod.POST)
    public String testServlet(HttpServletRequest request){
        System.out.println(request.getParameter("name"));
        System.out.println(request.getParameterValues("age")[0]);
        System.out.println(request.getParameter("gender"));
        Map map=request.getParameterMap();
        //遍历
        for(Iterator iter=map.entrySet().iterator();iter.hasNext();) {
            Map.Entry element = (Map.Entry) iter.next();
            //key值
            Object strKey = element.getKey();
            //value,数组形式
            String[] value = (String[]) element.getValue();

            System.out.print(strKey.toString() + " = ");
            for (int i = 0; i < value.length; i++) {
                System.out.print(value[i] + " , ");
            }
        }
            return SUCCESS;
    }

前端代码:


username:
age:
gender:
爱 好:音乐篮球电影


2、HttpServletResponse

1.1 setStatus()方法
setStatus方法用来设置Servlet向客户端返回的状态码,它用来设置没有出错的状态。如果Servlet运行出错,Servlet可以使用sendError方法设置状态码,如sendError(int sc)方法设置错误状态代码。sendError(int sc,String msg)方法除了设置状态码,还向客户发出一条错误信息。
1.2 setHeader()方法
setHeader可以指定特定名称的头信息的值,addDateheader,addIntHeader,setDateHeader,setIntHeader可以加入或理性特定时间或整数型头信息。该方法的两个参数分别表示应答头的名字和值
1.3 addCookie()方法
public void addCookie(Cookie cookie);
addCookie方法可以在Web服务器响应中加入Cookie对象,这个对象将被浏览器所保存。Cookie机制也被用来维护会话状态。
1.4 setRedirect()方法
sendRedirect方法向客户发出临时重新导向的响应。它生成的响应状态码为302。该响应给了客户一个新的URL风趣。如果缓冲器已经被清空,这个方法会弹出一个IllegalStateException例外。如:httpServletResponse.sendRedirect(httpServletRequest.getHeader("Referer")); 返回调用action的当前页面。
1.5 addDateHeader()方法
void addDateHeader(String name,long date);
使用指定日期值加入带有指定名字(或代换所有此名字头标)的响应头标的方法。
1.6 setHeader()方法
void setHeader(String name,String value);
设置具有指定名字和取值的一个响应头标。
1.7 addIntHeader()方法
void addIntHeader(String name,int value);
使用指定整型值加入带有指定名字的响应头标(或代换此名字的所有头标)。
1.8 containsHeader()方法
boolean containsHeader(String name);
如果响应已包含此名字的头标,则返回true。
1.9 encodeRedirectURL()方法
String encodeRedirectURL(String url);
如果客户端不知道接受cookid,则向URL加入会话ID。第一种形式只对在sendRedirect()中使用的URL进行调用。其他被编码的URLs应被传递到encodeURL()
1.10 encodeURL()方法
String encodeURL(String url);
1.11 sendError()方法
void sendError(int status);
设置响应状态码为指定值(可选的状态信息)。HttpServleetResponse定义了一个完整的整数常量集合表示有效状态值。

3、HttpSession

  • getSession() 获取Session
  • setAttribute(String name, Object value) 设置属性值
  • getAttribute(String name) 获取上面设定的值,注意反回的是Object,需要进行(强制转化)
  • invalidate() 解除session的绑定

你可能感兴趣的:(Servlet常用原生API Spring MVC笔记(二))