Request和Response

Request对象的特点特点

Request对象是由浏览器创建的

每次请求都会创建一个request对象

生命周期是一次请求

Request对象



import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * request对象
 * 作用: request 对象封存了当前请求所以的请求信息
 * 	使用:
 * 		获取请求头数据
 * 		获取请求行数据
 * 		获取用户数据
 * 注意 : resquest 对象是由tomcat服务器创建的,并作为实参传递给处理请求的servlet的service方法
 * 
 * 
 * @author zxl
 *
 */

public class RequesServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//获取请求方式,默认是get方式
		String method = req.getMethod();
		System.out.println(method);
		//获取url
		StringBuffer requestURL = req.getRequestURL();
		System.out.println(requestURL);
		//获取uri
		String uri = req.getRequestURI();
		System.out.println(uri);
		
		//获取协议
		String scheme = req.getScheme();
		System.out.println(scheme);
		
		//获取请求行的数据
		req.getHeader("");
		//获取所有的请求行的键的枚举
		Enumeration<String> hn = req.getHeaderNames();
		while (hn.hasMoreElements()) {
			String key = (String) hn.nextElement();
			String value = req.getHeader(key);
			System.out.println(key +" : "+ value);
			
		}
		
		
		//获取用户数据
		String name = req.getParameter("uname");
		String pwd = req.getParameter("pwd");
		System.out.println(name);
		System.out.println(pwd);
		
		//getParameter不能获取同键不同值的 数据的,会漏值
		String fav = req.getParameter("fav");
		System.out.println(fav);
		
		//可以使用getParameterValues获取同键不同值的数据
		//得到的是一个数组
		String[] favs = req.getParameterValues("fav");
		//如果 fav 不存在,会返回一个null, 因此对favs进行循环时要先进行判断
		if(favs!=null){
			for(String v : favs){
				System.out.println(v);
			}	
		}
		
		//获取所有用户的请求数据 的键, 然后可以
		Enumeration<String> names = req.getParameterNames();
				
	}
}

Response对象

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Response 对象:
 * 	作用: 用来响应数据到浏览器的一个对象
 * 	使用:设置响应头
 * 		 设置响应实体
 * 
 * service请求处理代码流程
 *  设置编码格式
 * 	 获取请求数据
 * 	 处理请求数据
 * 		数据库操作(MVC思想)
 * 	 设置处理结果
 * @author asus
 *
 */

public class ResponseServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//获取请求信息
		
		//处理请求
		//设置响应头  ,一般key都是固定的标签
		resp.setHeader("mouse", "two fly brods");
		//在响应头中添加信息  setHeader 同键 会覆盖
		//addHeadr 同键不会覆盖 是追加
		resp.addHeader("key", "thinkpad");
		resp.addHeader("key", "wollo");
		
		//设置响应码, 在设置响应编码后,后面不应该再写程序,没有意义
		//resp.sendError(404,"sorry");
		
	
		//设置html编码格式
		resp.setHeader("content-type", "text/html;charset=utf-8");
					
		//设置普通文本的字符编码格式
		resp.setContentType("text/plain;charset=utf-8");
					
		//设置xml的格式
		//resp.setContentType("text/xml;charset=utf-8");
		resp.setContentType("text/html;charset=utf-8");
		//设置多个编码格式时, 谁在最后谁起作用
					
		
		//设置响应实体
		resp.getWriter().write("<b>this is resp study<b/>");
		resp.getWriter().write("<b>今天天气很好,适合学习</b>");
		resp.getWriter().write("<b>今天天气很好,适合学习</b>");	
		//<b> </b> 加粗
		resp.getWriter().write("<b>今天天气很好,适合学习</b>");	

	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值