【JavaWeb】HttpServletRequest即Request请求

1、通过Request获得请求行

方法:

String getRequestURI()  (获取所有资源地址,相对地址,绝对地址,网络地址)

StringBuffer getRequestURL()  (获取网络资源地址)

最重要的是:

String getContextPath()  (获得web应用的名称)在开发过程中尽量所有的有web应用名称的地方调用getContextPath()


代码:String contextpath=request.getContextPath()

2、通过Request获得客户机的信息

方法:

代码:String remoteAddr=request.getRemoteAddr();

提示:cmd  里通过Ping某个网址可以拿到这个网址的外网IP地址

3、通过Request获得请求头

String getHeader(String name)  这个方法用的比较多,通过传入参数name的这个键,获得对应的值

4、通过Request获得请求参数

方法;

①获取单个值:

String getParameter(String name)   传入name单个键,返回name键对应的值

②获取多个值:(例如页面里多选的情况)

String[  ]  getParameterValues(String name)  传入name单个键,返回name键对应的多个值,返回到string

数组里

③获得所有的参数,封装到一个map中Map

Map gerParameterMap()

代码:

Map parameterMap=request.gerParameterMap();

for(Map.Entry,entry : parameterMap.entrySet())  //增强for遍历

{/........}



-------------------------------------------------分割线----------------------------------------------

5.Request完成请求转发

获得请求转发器----path是转发的地址

 RequestDispatcher   dispatcher =getRequestDispatcher(String path)

执行转发方法

dispatcher.forward(request,response)


6.Request作为域对象

原因:每次访问request和response都是新创建的对象,作用范围是一次请求中

方法:

setAttribute(String name, object o)

getAttribute(String name)

removeAttribute(String name)

-------------------------------------------------分割线----------------------------------------------

注意:

①和servletContext比较:

ServletContext  创建:服务器启动                    Request         创建:访问时创建

                        销毁:服务器关闭                                         销毁:响应结束时

              域作用范围:整个web应用                             域作用范围:一次请求中

②重定向与转发区别:

重定向:两次请求,地址改变,可访问外部网站 

转发:一次请求,地址不变,只能内部资源,转发性能优于重定向

注意:重定向地址不改变,当用户刷新时,存在页面刷不刷新回去的问题

③客户端地址与服务器端地址区别:

客户端地址:写上web应用名称

直接输入的地址,重定向地址

服务器端地址:不需要写上web应用名称

转发


你可能感兴趣的:(JavaWeb)