Servelt中主要对象的使用

request对象

request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。

request对象提供了很多方法,可以通过这个对象获取用户提交的数据,客户的请求参数;

例如:获取客户机信息:String getRemoteAddr() 方法返回发出请求的客户机的IP地址、String getMethod ()得到客户机请求方式、String getContextPath()  获得工程虚拟目录名称;

获取请求头信息:String getHeader(String name)以 String 的形式返回指定请求头的值、long getDateHeader(String name)以表示 Date 对象的 long 值的形式返回指定请求头的值,值是毫秒数 、Int getIntHeader (String name)以 int 的形式返回指定请求头的值。

获取请求参数String getParameter(String name) 获取指定参数的值、Enumeration getParameterNames()以枚举的形式返回所有参数值、Map getParameterMap()以Map形式返回参数的映射中的键的类型为 String。参数映射中的值的类型为 String 数组、String[] getParameterValues(String name)返回包含给定请求参数拥有的所有值的 String 对象数组

应用:可以通过request对象实现转发(在服务器端进行转发):

void setAttribute(String name,Object o) 存储数据到request域中 *Object getAttribute(String name) 获取request域中的数据

void removeAttribute(String name)移除request域中的数据

request.getRequestDispatcher("服务器端的路径").forward(request, response);

response对象

response对象是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。即对象用户的请求作出响应的对象;

response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。

应用:通过response对象进行重定向(页面登录):

先设置302状态码:response.setStatus(302);  设置地址response.setHeader("location","客户端路径"); 

或者 使用重定向方法    response.sendRedirect("客户端路径");

 页面定时刷新(页面读秒操作)设置响应头 refresh    response.setHead("refresh","5,url=客户端路径"); 5代表5秒

实现文件下载(初级下载):设置头信息:*Content-Disposition attachment;filename=文件名称   *以附件的形式打开

输出验证码:

 

会话的定义:

会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。

*会话过程中要解决的一些问题?

每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据。

保存会话数据的两种技术:

*Cookie

Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

*Session

Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。

*Session和Cookie的原理图:

*cookie的主要方法:

public Cookie(String name,String value)  Cookie的构造方法

String setValue()与getValue()方法 设置值,获取值

Void setMaxAge()与getMaxAge()方法  设置有效时间,获取有效路径

*失效cookie setMaxAge(0); 前提条件:设置有效路径(和之间设置过相同)

Void setPath()与getPath()方法 设置有效路径,获取有效路径

*设置默认的有效路径

*配置/last /day11

*设置/last /day11/servlet

Void setDomain()与getDomain()方法 设置有效域名,获取有效域名

*www.sina.com.cn

*sports.sina.com.cn

*设置有效域名 setDmain(“.sina.com.cn);

*xxx.sina.com.cn

String getName()方法 获取cookie的名称

*会话级别的cookie: 默认保存到浏览器的内存中

*持久的cookie: 把cookie保存到磁盘上。通过setMaxAge()进行设置

Session和Cookie的主要区别在于:

Cookie是把用户的数据写给用户的浏览器。

Session技术把用户的数据写到用户独占的session中(服务器端)。

 

session的创建和销毁

*第一次访问资源,调用那个request.getSession(),创建session

*销毁

      *非正常关闭服务器()

     *session的过期,默认是30分钟。

      *可以在web.xml中修改值,单位是分钟;

     <session-config>

         <session-timeout>30</session-timeout>

     </session-config>

*调用session.invalidate()  手动销毁session

Servlet的域对象:

ServletContext 代表整个web应用

Session 一次会话,存放个人信息

Request 一次请求,存放错误处理

参考:传智播客  www.itcast.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值