HttpServlet实现类 HttpServletRequest HttpServletResponse接口 Get Post方法使用

HttpServlet实现类中HttpServletRequest接口

//    HttpServletResponse 接口    也叫响应对象
//    负责将doGet/doPost方法的执行结果写入到响应体交给浏览器
//    可以将数据以二进制形式写入到响应体
//    可以设置响应头中content-type属性,控制浏览器使用对应编译器将响应体的数据编译成对应文字、命令
//    可以设置响应头中location属性,将一个请求地址赋值给location,控制浏览器向指定服务器发送请求
/**   如何使用响应对象发送数据?
*     HttpServletResponse resp   响应对象
* *     PrintWriter out = resp.getWriter()   通过响应对象getWriter方法获取输出流
* *     out.write(******)      使用输出流将数据写入响应体
* *           字符串可以直接输出在输出流中,
* *           int输出出错
* *           out.write方法可以写字符、字符串、ASCII码
* *           输出int时,放入的是ASCII码
* *      out.print()   在实际使用中,使用out.print()
* *     不用关闭输出流
* */
/**    如何设置响应包 编译格式 字符格式?
*     浏览器接收到响应包后,根据响应头的content-type属性 进行编译处理
* *     默认content-type = “text”   文本编译
* *     想要修改content-type,必须在得到输出流前对其属性重新赋值
* *     HttpServletResponse response   响应对象
* *     response.setContentType("application/json");  application和json格式
* *     修改字符格式
* *     response.setCharacterEncoding("UTF-8");
* *     或者
* *     在修改编译格式时改response.setContentType("application/json;charset=utf-8");
* */
/**   如何使浏览器接收到响应包后,去浏览指定服务器 
*    HttpServletResponse response   响应对象 
* *    response.sendRedirect("******"); 传入字符串(服务器地址) 
* *    sendRedirect方法远程控制浏览器请求行为(请求地址,请求方式,请求参数) 
* *    如果是带参数的,则传入的字符串为“http://www.baidu.com?username=name” 
* */

HttpServlet实现类中HttpServletRequest接口

//    HttpServletRequest 接口
//    负责在doGet/doPost方法运行时,读取http请求协议包中的信息
//    也叫 请求对象
//    可以读取HTTP中协议包中的 请求行 的信息
//    可以读取保存在请求协议包中 请求头 或 请求体 中请求参数信息
//    可以代替浏览器向服务器申请资源文件调用
/**   HttpServletRequest req; 
* *    通过请求对象 获取 请求行 中 url 信息  请求服务器地址 
* *    String URL =req.getRequestURL().toString(); 
* *    通过请求对象 获取 请求行 中 Method 信息   请求模式 Get/Post 
* *    String Method =req.getMethod().toString(); 
* *    获取 uri  资源文件精准定位地址 
* *              在请求行中没有这个  这个是URL中截取的字符串 
* *              格式  “/网站名/资源文件名” 
* *              uri用于让服务器对被访问资源进行定位 
* *    String URI =req.getRequestURI(); 
* */
/**   通过请求对象获得 请求头 中 所有请求参数名  并读取指定参数名 
*    请求头 中的参数是携带在访问地址中,例如“http://www.baidu.com?username=name” 
* *    Enumeration paramNames = req.getParameterNames(); 
* *          //        将所有请求参数名保存到一个枚举对象进行返回 
* *         while(paramNames.hasMoreElements()) 
* *         { 
* *             String paramName = (String)paramNames.nextElement(); 
* *              //   获取参数名 
* *             String data = req.getParameter(paramName); 
* *               //   获取参数名 
* *         } 
* */

Get Post方法区别和使用

/**   对于Get和Post  请求参数位置不同 
*    Get 的参数在请求头中,Post 的参数在请求体中 
* *    在请求中添加参数 类似于在表单中<input type="***" name="***"> 
* *    Get 的参数 
* *          知道参数名name,获取参数值 
* *          String data = req.getParameter("name"); 
* *    Post 的参数 
* *          知道参数名name,获取参数值 
* *          String data = req.getParameter("name"); 
* *   在头和体里面,获取参数方式相同 
* *   使用Get 发送 中文内容  正常 
* *   使用Post 发送 中文内容  错误 
* *   原因 
* *        浏览器以GET方式发送请求,请求参数保存在[请求头] 
* *        在Http请求协议包到达Http服务器之后,第一件事就是进行解码 
* *        请求头二进制内容由Tomcat负责解码,Tomcat9 .0默认使用[utf-8] 字符集,可以解释一切国家文字 
* *        浏览器以POST方式发送请求,请求参数保存在[请求体], 
* *        在Http请求协议包到达Http服务器之后,第一件事就是进行解码 
* *        请求体二进制内容由当前请求对象(request)负责解码。request默认使用[IS0-8859-1]字符集 
* *   解决方法 
* *          在Post请求方式下,在读取请求体内容之前,应该通知请求对象使用utf-8字符集对请求体内容进行一次重新解码 
* *           req.setCharacterEncoding("utf-8"); 
* */


//    针对Get请求,客户端获取数据    
@Override    
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }
//    针对Post请求,客户端上传数据    
@Override    
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        super.doPost(req, resp);    
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值