HttpServletRequest
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息
request常用方法
l获得客户机信息
getRequestURL方法返回客户端发出请求时的完整URL
getRequestURI方法返回请求行中的资源名部分。
getQueryString 方法返回请求行中的参数部分。
getRemoteAddr方法返回发出请求的客户机的IP地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回客户机所使用的网络端口号
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名
getMethod得到客户机请求方式
 
URLURI的关系:URIURL的父类,URI描述资源,URL描述互联网的资源
 
String url = RequestURL().toString();
        System.out.println(url);
        System.out.RequestURI());
       
        System.out.QueryString());
       
        System.out.RemoteAddr());
       
        System.out.RemoteHost());
       
        System.out.RemotePort());
       
        System.out.Method());
 
Request常用方法
l获得客户机请求头
getHead(name)方法
•getHeaders(String name)方法
•getHeaderNames方法
l获得客户机请求参数(客户端提交的数据)
•getParameter(name)方法
•getParameterValuesString name)方法
•getParameterNames方法
•getParameterMap方法  //
•getInputStream
 
获取客户机带过来的数据
 
        String username = Parameter("username");
        System.out.println(username);
     
        System.out.println("----------------------");
     
        Enumeration  e = ParameterNames();
        while(e.hasMoreElements()){
          String name =(String) e.nextElement();
          String value = Parameter(name);
          System.out.println(name + "=" + value);
      }
     
        System.out.println("----------------------");
     
        String values[] =ParameterValues("username");
        for(int i=0;values!=null &&i<values.length;i++){
          System.out.println(values[i]);
      }
     
        System.out.println("----------------------");
        //localhost:8080/day05/servlet/RequestDemo3?username=aaa&username=bbb&password=123
        Map<String,String[]>map = ParameterMap();
        Set<Map.Entry<String,String[]>> set = Set();
        for(Map.Entry<String,String[]> entry : set){
          username =Key();
          values =Value();
          for(int i=0;values!=null &&i<values.length;i++){
              System.out.println(username +"=" + values[i]);
          }
      }
 
request常见应用1
l防盗链
String referer =Header("referer");
        if(referer==null ||!referer.startsWith("localhost")){
          response.sendRedirect("/day05/index.html");
          return;
      }
        String data = "凤日记";
        response.setCharacterEncoding("UTF-8");
        response.setHeader("content-type", "text/html;charset=UTF-8");
        Writer().write(data);
 
l各种表单输入项数据的获取
•textpasswordradiocheckbox
•fileselecttextarea hidden
•imagebuttonjs编程用
package quest;
 
import java.io.IOException;
import java.util.Arrays;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
//获取不同类型表单的数据(获取客户机表单提交的数据)
public class RequestDemo5 extends HttpServlet {
 
    publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
 
        System.out.Parameter("username"));
        System.out.Parameter("password"));
        System.out.Parameter("gender"));
        System.out.println(Arrays.ParameterValues("like")==null?newString[]{}:ParameterValues("like")));
        System.out.Parameter("city"));
        System.out.Parameter("resume"));
        System.out.Parameter("xx"));
jsp使用el表达式       
       
        String username =Parameter("username"); //"" null
        if(username==null ||im().equals("")){
            System.out.println("您没有提交数据");
        }
        Parameter("gender");  //null
        ParameterValues("like");//null
    }
    publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。