El objeto HttpServletRequest representa la solicitud del cliente. Cuando el cliente accede al servidor a través del protocolo HTTP, toda la información en el encabezado de la solicitud HTTP se encapsula en este objeto.
Métodos de solicitud comunes :
1. Métodos comunes para obtener información del entorno del cliente :
1. El método getRequestURL devuelve la URL completa cuando el cliente realiza la solicitud.
2. El método getRequestURI devuelve la parte del nombre del recurso en la línea de solicitud.
3. El método getQueryString devuelve la parte del parámetro de la línea de solicitud.
4. El método getRemoteAddr devuelve la dirección IP del cliente que realizó la solicitud.
5. El método getRemoteHost devuelve el nombre de host completo del cliente que realizó la solicitud.
6. El método getRemotePort devuelve el número de puerto de red utilizado por el cliente.
7. El método getLocalAddr devuelve la dirección IP del servidor WEB.
8. El método getLocalName devuelve el nombre de host del servidor WEB.
9.getMethod obtiene el método de solicitud del cliente.
Copie el código de código de la siguiente manera:
paquete com.yyz.request;
importar java.io.IOException;
importar java.io.OutputStream;
importar javax.servlet.ServletException;
importar javax.servlet.http.HttpServlet;
importar javax.servlet.http.HttpServletRequest;
importar javax.servlet.http.HttpServletResponse;
La clase pública RequestDemo extiende HttpServlet {
public void doGet (solicitud HttpServletRequest, respuesta HttpServletResponse)
lanza ServletException, IOException {
/**
*URL es un subconjunto de URI.
* URI se utiliza para identificar un recurso.
*La URL se utiliza para identificar un recurso en Internet.
*/
System.out.println(request.getRequestURL());//Obtener la dirección URL de solicitud
System.out.println(request.getRequestURI());//Obtener el recurso solicitado
System.out.println(request.getQueryString());
System.out.println(request.getRemoteAddr());//Obtener la IP del visitante
System.out.println(request.getRemoteHost());
// Dado que no está registrado en dns, el resultado de impresión sigue siendo 127.0.0.1. Si Baidu accede a este programa, imprima www.baidu.com.
System.out.println(request.getRemotePort());//Obtener el recurso solicitado
System.out.println(request.getMethod());//Obtener el recurso solicitado
}
public void doPost (solicitud HttpServletRequest, respuesta HttpServletResponse)
lanza ServletException, IOException {
doGet(solicitud,respuesta);
}
}
Ingrese: http://localhost:8080/test/servlet/RequestDemo en la barra de direcciones del navegador y el resultado en segundo plano es el siguiente:
2. Obtenga el encabezado de solicitud del cliente :
1.método getHeader (nombre de cadena)
2.método getHeaders (nombre de cadena)
3.método getHeaderNames()
Copie el código de código de la siguiente manera:
paquete com.yyz.request;
importar java.io.IOException;
importar java.util.Enumeration;
importar javax.servlet.ServletException;
importar javax.servlet.http.HttpServlet;
importar javax.servlet.http.HttpServletRequest;
importar javax.servlet.http.HttpServletResponse;
//Obtener encabezados de solicitud
La clase pública RequestDemo extiende HttpServlet {
public void doGet (solicitud HttpServletRequest, respuesta HttpServletResponse)
lanza ServletException, IOException {
Cabezal de cadena = request.getHeader("Aceptar-Codificación");
//Algunos navegadores no soportan datos comprimidos
si(head.contains("gzip")){
// Salida de datos comprimidos
}demás{
// Salida de datos sin comprimir
}
//Obtiene todos los valores del encabezado con el nombre especificado
Enumeración e = request.getHeaders("Aceptar-Codificación");
mientras(e.hasMoreElements()){
Valor de cadena = (Cadena) e.nextElement();
System.out.println(valor);
}
System.out.println("------------------------");
//Obtener todos los encabezados y valores
e = request.getHeaderNames();
mientras(e.hasMoreElements()){
Nombre de cadena = (Cadena)e.nextElement();
Valor de cadena = request.getHeader(nombre);
System.out.println(nombre+"="+valor);
}
}
public void doPost (solicitud HttpServletRequest, respuesta HttpServletResponse)
lanza ServletException, IOException {
doGet(solicitud,respuesta);
}
}
Acceda al programa en un navegador y el resultado en segundo plano es el siguiente:
3. Obtener los parámetros de solicitud del cliente (datos enviados por el cliente):
1.método getParameter (nombre)
Método 2.getParameterValues (nombre de cadena)
3.método getParameterNames
4.Método getParameterMap, utilizado ampliamente al crear marcos.
paquete com.yyz.request; importar java.io.IOException; importar java.util.Enumeration; importar java.util.Map.Entry; .HttpServlet; importar javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse; //Obtener datos de la solicitud public class RequestDemo extends HttpServlet { public void doGet(solicitud HttpServletRequest, respuesta HttpServletResponse) lanza ServletException, IOException { //http://localhost:8080/test/servlet/RequestDemo? nombre=yyz Valor de cadena = request.getParameter("nombre"); System.out .println(value); //http://localhost:8080/test/servlet/RequestDemo?like=sing&like=dance String me gusta[] = request.getParameterValues("me gusta"); ){ para(Cadena como: me gusta){ System.out.println(como); // La siguiente es una forma profesional de escribir este tipo de recorrido, una forma de obtener datos de matriz (para evitar excepciones de puntero nulo) for(int i=0;likes!=null&&i<likes.length;i++){ System.out .println(likes[ i]); } //Obtiene todos los nombres y obtiene el valor según el nombre Enumeración e = request.getParameterNames(); while(e.hasMoreElements()){ String name = (String) e.nextElement(); valor = request.getParameter(nombre); System.out.println(nombre+"="+valor} System.out.println("-------------); ---------"); //Obtiene la colección de mapas utilizada para encapsular datos en el objeto de solicitud Map<String,String[]> map = request.getParameterMap(); for(Entry<String, String[ ] > yo: map.entrySet()){ Nombre de cadena = me.getKey(); String [] v = me.getValue(); System.out.println(name+"="+v[0]); } } public void doPost(solicitud HttpServletRequest, respuesta HttpServletResponse) lanza ServletException, IOException { hacerGet(solicitud,respuesta);