Servlet——HttpServletRequest

一、HttpServletRequest:

  封装了客户端提交的请求信息,通过调用该对象相应的方法可以获取封装的信息;

  //对应jsp中的request;

二、获取路径方法:

1)获取servlet名称:String getServletPath();/servletTest

2)获取应用名:String getContextPath();/servletProject

3)获取uri(应用名+连接名)String getRequestUri();/servletProject/serlvetTest_do

4)获取urlString getRequestUrl();localhost:8080/servletProject/serlvetTest_do

5)获取全列名(包名+类名)getServletName();

 

三、获取资源方法:

1)获取指定请求头名称的值:String getHeader(String name);

2)获取所有请求头的名称:Enumeration<String> getHeaderNames();

3)设置当前请求的编码:void setCharacterEncoding(String env);

4)获得当前请求的编码:String getCharacterEncoding();

 四、获取元素方法:

 1String getParameter(String name);

  //根据前端元素节点的name属性的值,获取该元素value属性的值

 2Map<String,String[]> getParameterMap();

  //获取前端提交到后台所有元素节点value属性的值;

  //返回值:String key:前端元素节点的name属性的值;

  String[] value:对应name属性的元素value属性的值;

3String[] getParameterValues(String name);

  //根据前端元素节点的name属性的值,获取该元素value属性的值所在的数组;

  注意:该方法专为多选框设计!!!

 4Enumeration<String> getParameterNames();

  //获取前端提交到后台所有元素节点name属性的值

(5String getQueryString();

  //获取get请求?问好后的序列化数据;a=b&c=d&e=f

五、操作属性方法:

1.设置属性:void setAttribute(String name, Object object);//多次调用同个name属性会覆盖;

2.获取属性:Object getAttribute(String name);//获取没设置过的属性名返回null;

3.删除属性:void removeAttribute(String name);

4.获取所有本域的属性名:Enumeration getAttributeNames();

 六、请求转发:

1.方法:

 1request.getRequestDispatcher("url").forward(request, response);

(2request.getRequestDispatcher("/BServlet").includ(request, response);

2.注意点:

(1)必须在当前应用内跳转;

(2)url必须是资源最短路径;

  //对于servlet是urlparrent;对于html是html页面名字.html

(3)转发后地址不变;是一次请求;

3.区别:

  如果使用forward跳转则后面的response输出则不会执行;

  而用include来跳转,则include的servlet执行完后,再返回到原来的servlet执行response的输出(如果有);

 

posted @ 2019-07-31 13:59  开拖拉机的拉风少年  阅读(210)  评论(0编辑  收藏  举报