Request

Request
  1 Request对象和Response对象的原理
1.1 都是由服务器创建的  我们使用它
1.2Request对象  是获取请求消息 response对象是响应
2 request 对象的继承关系
     Request---->ServletRequest--->HttpServletRequest(该对象不需要我们创建 tomact 创建)
 3 request  方法
      获取请求行的数据
            1  获取请求的方式   getMethod();
            2 目录的路径     getContextPath();    *****   
            3 获取servlet路径 getServletPath();
            4 获得get请求参数   getQueryString();
            5获取请求的url    getRequestURI();
                               getRequestURL();     *****
           6 获得协议版本   getProtocol();
           7  获取客户的ip   getRemoteAddr();
4 其它方法
      4.1 获取请求参数的通用方式  不论get还是post 请求的方式都可以使用下列方法获取参数
           1 getParameter(String name);
           2 根据参数的名称获得参数的数组   getParameterValues(String name)
           3  getParameterNames()  获得所有的请求参数的名称
           4   getParameterMap()  获得所有参数的集合  map
   中文乱码问题

 

package cn.qu.demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/loginDemo")
public class ServletDemo3 extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取请求方式
        String method = req.getMethod();
        System.out.println(method);
       //获取目录路径
        String contextPath = req.getContextPath();
        System.out.println(contextPath);
        //获得servlet路径
        String servletPath = req.getServletPath();
        System.out.println(servletPath);
       //获取get请求参数
        String queryString = req.getQueryString();
        System.out.println(queryString);
        //获取URI地址
        String requestURI = req.getRequestURI();
        System.out.println(requestURI);
        // 获取URL地址
        StringBuffer requestURL = req.getRequestURL();
        System.out.println(requestURL);
        //获得协议版本
        String protocol = req.getProtocol();
        System.out.println(protocol);
        //获取客户ip
        String remoteAddr = req.getRemoteAddr();
        System.out.println(remoteAddr);

    }
}


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post" action="/loginDemo">
<input name="username">
<input type="submit" value="提交"/>
</form>
</body>
</html>
 
package cn.lijun.web.servlet;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.lang.reflect.GenericSignatureFormatError;
@WebServlet("/zhuang")
public class Demo2Servlet extends GenericServlet {
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("servlet儿子");
    }
}
package cn.lijun.web.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("*.do")
public class ServletDemo4 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("提交方式为Post");

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("提交方式为get");
    }
}

 

posted @ 2019-04-09 20:24  芯-觞  阅读(335)  评论(0编辑  收藏  举报