Servlet的四个重要对象

 HttpServletRequest  请求对象:获取请求信息

 HttpServletResponse 响应对象: 设置响应对象

 ServletConfig对象    servlet配置对象

 ServletContext对象; servlet的上下文对象


1,HttpServletRequest对象请求对象。获取请求信息。

请求行:request.getMethod()   request.getRequestURI/getRequestURL()  request.getProtocol();

请求头: request.getHeader("name")    request.getHeaderNames()  

实体内容: request.getInputStream()

 

获取参数数据:(GETPOST)

request.getParameter("name")  一个值的参数

request.getParameterValues("name"); 多个值的参数

request.getParameterNames()    所有参数


2,HttpServletResponse对象:响应对象。设置响应信息。

响应行: response.setStatus();

响应头: response.setHeader("name","value")

实体内容:

(PrintWriter) response.getWriter().writer(); 字符内容

  (OutputStreamresponse.getOutputStream().writer();  字节内容



3,ServletConfig对象

主要是用于加载servlet的初始化参数。在一个web应用可以存在多个ServletConfig对象(一个Servlet对应一个ServletConfig对象)

ServletConfigAPI

java.lang.String getInitParameter(java.lang.String name)  根据参数名获取参数值

java.util.Enumeration getInitParameterNames()    获取所有参数

    ServletContext getServletContext()     得到servlet上下文对象

java.lang.String getServletName()       得到servlet的名称


4,ServletContext对象:

叫做Servlet的上下文对象。表示一个当前的web应用环境。一个web应用中只有一ServletContext对象。

Sun公司设计
1)创建ServletContext对象	  ServletContext  context = new ServletContext()
 
2)创建ServletConfig对象   ServetConfig config = new ServletConfig();
                                              config.setServletContxt(context);
class  ServletConfig{
ServletContext context;
public ServletContext getServletContxt(){
return contxt;
}
}
 
public void init( ServletConfig config ){
得到ServletConfig对象
从ServletConfig对象中得到ServletContext对象
SerlvetContext context = config.getServletContext();
}

java.lang.String getContextPath()   --得到当前web应用的路径

 

java.lang.String getInitParameter(java.lang.String name)  --得到web应用的初始化参数

java.util.Enumeration getInitParameterNames()  

 

void setAttribute(java.lang.String name, java.lang.Object object) --域对象有关的方法

java.lang.Object getAttribute(java.lang.String name)  

void removeAttribute(java.lang.String name)  

 

RequestDispatcher getRequestDispatcher(java.lang.String path)   --转发(类似于重定向)

 

java.lang.String getRealPath(java.lang.String path)     --得到web应用的资源文件

java.io.InputStream getResourceAsStream(java.lang.String path)  

 

5域对象有关的方法

域对象:作用是用于保存数据,获取数据。可以在不同的动态资源之间共享数据

 


可以使用域对象共享数据,好处:可以共享任何类型的数据!!!!!

 

ServletContext就是一个域对象!!!!

 

保存数据:void setAttribute(java.lang.String name, java.lang.Object object)

获取数据: java.lang.Object getAttribute(java.lang.String name)  

删除数据: void removeAttribute(java.lang.String name)  

 

ServletContext域对象:作用范围在整个web应用中有效!!!

 

所有域对象:

HttpServletRequet 域对象

ServletContext域对象

HttpSession 域对象

PageContext域对象

 

6 转发

 RequestDispatcher getRequestDispatcher(java.lang.String path)

 

1)转发

 a)地址栏不会改变

 b)转发只能转发到当前web应用内的资源

c)可以在转发过程中,可以把数据保存到request域对象中

 

2)重定向

a)地址栏会改变,变成重定向到地址。

b)重定向可以跳转到当前web应用,或其他web应用,甚至是外部域名网站。

c)不能再重定向的过程,把数据保存到request中。

 

结论: 如果要使用request域对象进行数据共享,只能用转发技术!!!

 

 





  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值