request 作用域 常用方法

request 请求:
  String getQueryString()                     取得URI中的查询字符串(后的字符串)
  String x(String name)                       取得参数字符串所对应的字符串参数值
  String[] getParameterValues(String name)    取得参数字符串所对应的所有字符串参数值
  Map getParameterMap()                       取得一个要求参数的Map
  Enumeration getParameterNames()             取得所有的参数名称
  
=============================分隔线=============================
request内置对象中用于实现request作用域存储的方法
  
void setAttribute(String name , Object value);
    将Object对象以name的名称进行request作用域的存储
  
Object getAttribute(String name);
    通过name获得存储在request作用域中的对象
  
void removeAtribute(String name);
    通过name删除存储在request作用域中的对象
  
Enumeration getAttributeNames();
    获得所有存储在request作用域中的属性名
  
JSP中获得request内置对象的其它方式 pageContext.getRequest();
  
  
   JSP转发是指:JSP容器将使用一个内部的方法来调用目标页面,新的页面继续
处理同一个请求,而浏览器将不会知道这个过程。所以它只能在同一个JavaWeb应用
中使用,所以可以共享request范围内的数据。
   使用如下方法实现JSP转发:
  RequestDispatcher rd = request.getRequestDispatcher(URL);
  rd.forward(request, response);
   参数URL中使用"/"开头,表示的是当前JavaWeb应用程序的根目录。
   转发只能在当前Web应用中进行请求响应,而重定向可以在不同
  Web应用中进行请求响应。
   转发中URL以"/"开头,表示的是当前JavaWeb应用程序的根目录。重定向中URL
以"/"开头,,它是相对于所有JavaWeb应用的根目录。
   重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的
URL地址变成重定向的目标URL;而请求转发过程结束后,浏览器地址栏保持初始的
URL地址不变。
   转发的调用者与被调用者之间共享相同的request 对象和response对象,它们
属于同一个访问请求和响应过程,所以request对象共享;而重定向的调用者与被调
用者使用各自的request对象和response 对象,它们属于两个独立的访问请求和响应
过程,所以request对象不共享。
   无论是转发还是重定向,都不能以有内容实际输出到客户端。如
  果缓冲区中已经有了一些内容,这些内容将被从缓冲区中清除。
  
=============================分隔线=============================
  假定你的web application 名称为news,你在浏览器中输入请求路径:
  http://localhost:8080/news/main/list.jsp
  则执行下面向行代码后打印出如下结果:
  1、 System.out.println(request.getContextPath());   项目虚拟名称
  打印结果:/news
  2、System.out.println(request.getServletPath());
  打印结果:/main/list.jsp
  3、 System.out.println(request.getRequestURI());
  打印结果:/news/main/list.jsp
  4、System.out.println(request.getRequestURL());
  打印结果:http://localhost:8080/news/main/list.jsp
  5、 System.out.println(request.getRealPath("/"));
  打印结果:F:\Tomcat 6.0\webapps\news\test
  
  request.getServerName(); 服务器名称(类似 localhost)
  request.getServerPort();  端口
  request.getScheme();      协议名称
  
  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  path = request.getContextpath()有什么用
  <%
  String path = request.getContextPath();
  String basePath = request.getScheme()+"://"+request.getServerName()
+":"+request.getServerPort()+path+"/";
  %>
  那么他的含义就是为了得到一个路径,做动态网站时,需要提交form表单在表单
的action里面就会这样来写
  action="<%=path %>/add.do" 这样来提交到相应的servlet中去,这样可以避免
路径的错误,而采用这样的相对路径会更好些



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值