servlet常用方法

编码

/* 修改编码 */
修改POST方式参数编码request.setCharacterEncoding("utf-8");
修改GET方式参数编码需要一个个的手动去更改
String name =new String(name.getBytes("ios-8859-1"),"utf-8");

//项目解决编码问题,在每个servlet开头写下面两句
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");

request获取参数

/* request参数获取 */
request.getQueryString()   //用于doGet方法获取参数值
request.getInputString()   //用于doPost方法获取参数
//以上两种不通用,而却获取到的参数还需要进一步解析,返回的数据是键值对的形式返回的name=a&password=123

//通用方式
request.getParameter("参数名")  //根据参数名获取参数值(只能获取一个值的参数),返回String
request.getParameterValues("参数名")  //根据参数名获取参数值(可获取多个值的参数),返回String[]
request.getParameterNames()  //获取所有参数名称列表,返回Enumeration<String> 
request.getParameterMap(): 用于遍历所有的参数,并返回Map类型

request.getParameterMap()示例

Map<String, String[]> parameters = request.getParameterMap();
Set<String> paramNames = parameters.keySet();
for (String param : paramNames) {
	String[] value = parameters.get(param);
    System.out.println(param + ":" + Arrays.asList(value));
}

request常用方法

/* request常用方法 */
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议 主机名 端口(如果有)" 
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名" 
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr(): 服务器的IP地址
request.getLocalName(): 服务器的主机名
request.getMethod(): 得到客户机请求方式一般是GET或者POST

request获取头信息

request.getHeader()  //获取浏览器传递过来的头信息
request.getHeaderNames()  //获取浏览器所有的头信息名称,根据头信息名称就能遍历出所有的头信息
eg:
host: 主机地址
user-agent: 浏览器基本资料
accept: 表示浏览器接受的数据类型
accept-language: 表示浏览器接受的语言
accept-encoding: 表示浏览器接受的压缩方式,是压缩方式,并非编码
connection: 是否保持连接
cache-control: 缓存时限

response响应内容

PrintWriter pw = response.getWriter();
通过response.getWriter(); 获取一个PrintWriter 对象
可以使用println(),append(),write(),format()等等方法设置返回给浏览器的html内容
发布了25 篇原创文章 · 获赞 0 · 访问量 349

猜你喜欢

转载自blog.csdn.net/weixin_45808666/article/details/103689590