servlet接收用户的请求

package com.bjsxt.com;

import java.io.IOException;
import java.lang.reflect.Array;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 在该类中,一般会有下边的这么几个方法:
 * init:在这个类被初始化的时候会被加载进内存,同时这个也是该类中第一个被启动的方法;
 * destroy:在这个类中,当项目被关闭的时候,才会执行这个方法,与init相对应,destroy是这个类中的最后一个方法;
 * service方法:是这类中的一个方法,当这个类被正常启动之后,每当前台发送一次请求,就会促成一次service方法的执行;
 * doget方法:用户接收前端发送过来的get方式的请求,也就是说只有当前台使用get方法发送请求的时候,后台才会被唤起去接收这个请求,然后做出相应;
 * dopost方法:用户接收前端发送过来的post方法的请求,也即是说只有前台使用post方法发送请求的时候,后天才会唤起dopost请求,去执行相应的方法和命令
 * 当后台只有DOpost方法,前端却发送的是get请求,那么这种情况会报错;
 * 同样,当前端使用post发送请求,后台却使用的是doget去接收,这种情况下也会发生报错
 * 
 * @author administrator
 *
 */
/**
 * 在一个函数中,需要获取的数据有三类:
 * 请求头数据
 * 请求行数据
 * 请求数据
 * 1、获取请求头数据:
 * req.getMethod();//获取请求方式
 * req.getRequestURL();获取的是URL信息
 * req.getRequestURI();获取的是URI信息
 * req.getSchema();获取的是协议
 * 2、获取请求行数据
 * req.getHeader("键名");//返回指定的请求头信息
 * req.getHeaderNames();//返回请求头的键名的枚举集合
 * 3、获取用户数据
 * req.getPareameter("键名")//返回指定的用户数据
 * req.getParameterValues("键名") //返回同键不同值的的请求数据(多选),返回的数组
 * req.getPatameterNames();//返回所有用户请求数据的枚举集合
 * 注意:如果要获取的请求数据不存在,不会报错,返回null
 * 注意:request对象由Tomcat服务器创建,并作为实参传递给处理请求的servlet的service方法

 * @author administrator
 *
 */
public class Test2 extends HttpServlet {
	@Override
	public void init() throws ServletException {
		System.out.println("服务器进行初始化工作。");
	}
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		System.out.println("Test2.service()");
		resp.getWriter().write("this is my third servlet...");	
		//获取请求头信息
		String method = req.getMethod();
		System.out.println(method);
		//获取请求行数据
		StringBuffer requestURL = req.getRequestURL();
		System.out.println(requestURL);
		//获取请求URI
		String requestURI = req.getRequestURI();
		System.out.println(requestURI);
		//获取协议
		String scheme = req.getScheme();
		System.out.println(scheme);
		Enumeration headers = req.getHeaders("User-Agent");
		System.out.println(headers);
		Enumeration e = req.getHeaderNames();
		System.out.println(e);
		System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
		while(e.hasMoreElements()){
			String name =(String)e.nextElement();
			String header = req.getHeader(name);
			System.out.println(name+":"+header);
		}
		/**
		 * 获取用户名和密码
		 */
		String parameter = req.getParameter("uname");
		System.out.println("用户名:——>"+parameter);
		String pwd = req.getParameter("pwd");
		System.out.println(pwd);
		String parameter2 = req.getParameter("fav");
		System.out.println("爱好——>"+parameter2);
		
		String [] fav = req.getParameterValues("fav");
		for(int i=0;i<fav.length;i++){
			System.out.println(fav[i]);
		}
//		super.service(arg0, arg1);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		System.out.println("服务器加载进了doget方法");
		resp.getWriter().write("这里是doget方法");
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		System.out.println("服务器加载进了dopost方法");
		resp.getWriter().write("这里是dopost方法");
	}
	@Override
	public void destroy() {
		System.out.println("这里是销毁的方法。");
	}
	
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值