菜鸟学Android笔记(三十二):Request获取客户端的信息

一、request的概念及结构

1、概念

request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项

2、结构

request

ServletRequest -- 通用request,提供一个request应该具有的最基本的方法

|

|--HttpServletRequest -- ServletRequest的孩子,针对http协议进行了进一步的增强

二、requset获取客户机信息

常见功能:

getRequestURL方法返回客户端发出请求完整URL

!!getRequestURI方法返回请求行中的资源名部分

getQueryString 方法返回请求行中的参数部分

!!getRemoteAddr方法返回发出请求的客户机的IP地址

!!getMethod得到客户机请求方式

!!getContextPath 获得当前web应用虚拟目录名称

例子:

package com.java.request;

import java.io.IOException;

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

public class CustInfoServlet extends HttpServlet{

	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		//1.获取客户端请求的完整URL
		String url = request.getRequestURL().toString();
		System.out.println("客户端请求的完整URL:"+url);
		//2.获取客户端请求的资源部分的名称
		String uri = request.getRequestURI();
		System.out.println("客户端请求的资源部分的名称:"+uri);
		//3.获取请求行中参数部分
		String qStr = request.getQueryString();
		System.out.println("请求行中参数:"+qStr);
		//4.获取请求客户端的ip地址
		String ip = request.getRemoteAddr();
		System.out.println("客户端的ip地址:"+ip);
		//5.获取客户机的请求方式
		String method = request.getMethod();
		System.out.println("客户机的请求方式:"+method);
		//6.获取当前web应用的名称
		String name = request.getContextPath();
		System.out.println("web应用的名称:"+name);
	//	response.sendRedirect(request.getContextPath()+"/index.jsp");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		doGet(request, response);
	}

}

注意:以后表示web应用目录名称就用getContextPath,同时注意web应用目录的名称和工程是不同的两个概念,如何修改web应用的目录?

在project->properties->myeclipse->web目录下修改,修改后需重新发布

时间: 2024-11-06 14:54:53

菜鸟学Android笔记(三十二):Request获取客户端的信息的相关文章

Android笔记三十二.Android位置服务及核心API

一.位置服务概念 1.位置服务 位置服务(Location-Based Services,LBS),又称定位服务或基于位置的服务,融合了GPS定位.移动通信.导航等多种技术,提供了与个空间位置相关的综合应用服务. 2.GPS与网络位置提供器 Android平台支持提供位置服务的API,可以利用GPS(Global Positioning System,全球定位系统)和Network Location Provider(网络位置提供器)来获得用户的位置. (1)GPS相对来说更精确,但它只能在户外

马哥学习笔记三十二——计算机及操作系统原理

缓存方式: 直接映射 N路关联 缓存策略: write through:通写 write back:回写 进程类别: 交互式进程(IO密集型) 批处理进程(CPU密集型) 实时进程(Real-time) CPU: 时间片长,优先级低IO:时间片短,优先级高 Linux优先级:priority 实时优先级: 1-99,数字越小,优先级越低 静态优先级:100-139,数据越小,优先级越高 实时优先级比静态优先级高 nice值:调整静态优先级   -20,19:100,139   0:120 ps

【Unity 3D】学习笔记三十二:游戏元素——游戏光源

游戏光源 在3D游戏中,光源是一个非常具有特色的游戏组件.用来提升游戏画面质感的.如果没有加入光源,游戏场景可能就会显得很昏暗.在unity中提供了三种不同的光源类型:点光源,聚光灯,平行光. 点光源 顾名思义,点光源是从一个点向周围散发出光的光源,就像电灯一样.创建点光源在hierarchy视图中点击create--point light: 创建完以后,点击点光源对象,在右侧inspector视图中可以看到点光源的所有信息: type:光源的类型.有point(点光源),directional

Android笔记三十四.Service综合实例二

综合实例2:client訪问远程Service服务 实现:通过一个button来获取远程Service的状态,并显示在两个文本框中. 思路:如果A应用须要与B应用进行通信,调用B应用中的getName().getAuthor()方法,B应用以Service方式向A应用提供服务.所以.我们能够将A应用看成是client,B应用为服务端,分别命名为AILDClient.AILDServer. 一.服务端应用程序 1.src/com.example.aildserver/song.aidl:AILD文

Android笔记(六十二)网络框架volley

什么是Volley 很多时候,我们的APP都需要用到网络技术,使用HTTP协议来发送接收数据,谷歌推出了一个网络框架——volley,该框架适合进行数据量不大,但通信频繁的网络操作. 它的优点: (1)默认Android2.3及以上基于HttpURLConnection,2.3以下使用基于HttpClient: (2)符合Http 缓存语义 的缓存机制(提供了默认的磁盘和内存等缓存): (3)请求队列的优先级排序: (4)提供多样的取消机制: (5)提供简便的图片加载工具(其实图片的加载才是我们

JAVA学习笔记(三十二)- 字符流 FileReader & FileWriter

标题 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream;

Android笔记(七十二) Style和Theme

我们尝尝需要使用setText.setColor.setTextSize等属性来设置控件的样式,但是每个控件都需要设置这些属性,工作量无疑是巨大的,并且后期维护起来也不方便. Style Android中的样式(style)包含一组格式,为一个组件设置使用某个样式时,该样式所包含的全部格式都将会应用在这个组件上. Android的样式资源文件放在/res/values目录下,其跟元素是<resources>,该元素内包含多个<style>子元素,每个子元素都是一个样式. <s

猫猫学IOS(三十二)UI之Quartz2D矩阵操作和图片剪切

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 矩阵操作 矩阵操作:(旋转,缩放,平移) 通过矩阵操作,把画出来的东西进行形变 旋转操作 方法:CGContextRotateCTM(<#CGContextRef c#>, <#CGFloat angle#>)该接受两个参数(图形上下文,弧度) 注意点:设置矩阵操作必须要在添加图形之前,如果设置在添加图形之后的话

PHP学习笔记三十二【Exception】

<?php // $fp=fopen("a.txt","r"); // echo "ok"; if(!file_exists("a.txt")) { exit();//退出 } //使用die处理异常 if(!file_exists("a.txt")) { die("文件不存在");//打印提示再退出,不会再继续执行 // exit(); }else { } //用法2 file_