System.out.println("请求方式:"+request.getMethod());
System.out.println("客户IP:"+request.getRemoteAddr());
System.out.println("客户需要访问资源的URI:"+request.getRequestURI());
System.out.println("客户需要访问资源的URL:"+request.getRequestURL());
System.out.println("获得WEB应用的名称:"+request.getContextPath());
//获得具体访问的资源
System.out.println("获得具体访问的资源");
System.out.println(request.getRequestURI().substring(request.getContextPath().length()));
//获得头信息,单个元素
String hader=request.getHeader("host");
//获得头信息,键重复元素
Enumeration<String> headers = request.getHeaders("host");
while(headers.hasMoreElements())
{
System.out.println(headers.nextElement());
}
//获得所有头信息
Enumeration<String> names = request.getHeaderNames();
while(names.hasMoreElements())
{
String name=names.nextElement();
System.out.println(name+":"+request.getHeader(name));
}
//通过请求信息里的referer参数获取来源页面路径
String header=request.getHeader("referer");
//设置响应体和浏览器解码方式
response.setContentType("text/html; charset=UTF-8");
//获得response字符输出流
PrintWriter writer = response.getWriter();
//判断请求来源页面是否满足要求
if(header!=null&&header.startsWith("http://localhost"))
{
//满足要求正常输出页面
writer.println("我是新闻");
}
else
{
//没有通过中正常途径访问,设置重定向会主页
response.setStatus(302);
response.sendRedirect("/Demo6/1.html");
}
request.getParameter(String name);
request.getParameterValues(String name);
request.getParameterNames();
request.getParameterMap();
//通过键去查找值
String username=request.getParameter("username");
String password=request.getParameter("password");
System.out.println(username);
System.out.println(password);
//通过键去查找值,这种情况主要针对的是复选框,多个表单name相同的时候
String[] hobby = request.getParameterValues("hobby");
System.out.println(Arrays.toString(hobby));
//获取页面提交的所有值,返回成一个map集合
Map<String,String[]> info = request.getParameterMap();
//通过获取键的方式来遍历集合
Set<String> keySet = info.keySet();
Iterator<String> it=keySet.iterator();
while(it.hasNext())
{
String s=it.next();
String[] value=info.get(s);
//判断数组长度,长度小于等于1
if(value.length<=1)
{
System.out.println("key:"+s+" "+"value:"+value[0]);
}
else
{
//遍历String数组取出其中的值
for(int i=0;i<value.length;i++)
{
System.out.println("key:"+s+" "+"value:"+value[i]);
}
}
}
request.getRequestDispatcher(path).forward(request,response);
//servlet2的输出内容为This is class com.heima.demo1.Servlet2
request.getRequestDispatcher("/servlet2").include(request,response);
//输出123123123123123123
response.getWriter().write("123123123123123123!!!!!");
原文:http://www.cnblogs.com/didixyy/p/8ced5a3cd0ac7e27cb9b66b67b93988f.html