HttpServletRequest

1、获得请求行

获得客户端的请求方式:String getMethod()

获得请求的资源:

String getRequestURI() 

StringBuffer getRequestURL() 

String getContextPath() ---web应用的名称

String getQueryString() ---- get提交url地址后的参数字符串

username=zhangsan&password=123

 

注意:request获得客户机(客户端)的一些信息

request.getRemoteAddr() --- 获得访问的客户端IP地址

package cn.yuchao.general;

import java.io.IOException;

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

@WebServlet("/general")
public class General extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		//获得请求方法
		System.out.println("Method:"+request.getMethod());
		
		//获得请求资源地址
		System.out.println("URI:"+request.getRequestURI());
		System.out.println("URL"+request.getRequestURL());
		
		//获得get提交的字符串Query String
		System.out.println("Query String:"+request.getQueryString());
		
		//获得应用名
		System.out.println("web应用名称:"+request.getContextPath());
		
		//获得远程地址
		System.out.println("remote address:"+request.getRemoteAddr());
		
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

2、获得请求头

long getDateHeader(String name)

String getHeader(String name)

Enumeration getHeaderNames()

Enumeration getHeaders(String name)

int getIntHeader(String name)

 

referer头的作用:执行该此访问的的来源做防盗链

String refe = request.getHeader("referer");
if(refe.startsWith("http://localhost:8080")) {
		response.getWriter().println("是本网站链接访问!");
} else {
				
}

3、获得请求体

String getParameter(String name) 

String[] getParameterValues(String name)

Enumeration getParameterNames()

Map<String,String[]> getParameterMap()

 

      解决post提交方式的乱码:request.setCharacterEncoding("UTF-8");

      解决get提交的方式的乱码:

            parameter = new String(parameter.getbytes("iso8859-1"),"utf-8");

 

通过getParameterMap处理数据:key为String,value为String[]

@WebServlet("/body")
public class Body extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		//通过getParameterMap获取值
		Map<String, String[]> map = request.getParameterMap();
		for(Map.Entry<String, String[]> entry:map.entrySet()) {
			System.out.print(entry.getKey()+"---");
			for(String str:entry.getValue()) {
				System.out.print(str+" ");
			}
			System.out.println();
		}
		
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

4、request是一个对象域

setAttribute(String name, Object o)

getAttribute(String name)

removeAttribute(String name)

注意:request域的作用范围:一次请求中

     (1)Request请求转发

             重定向可以访问外部网站,请求转发只能访问内部资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值