servlet (2)

destroy() 方法
   destroy() 方法仅执行一次,即在服务器停止或者卸载Servlet时执行该方法来释放资源

进行Servlet开发所需要的基本环境是JDK以及一个支持Servlet的应用服务器
支持Servlet的应用服务器J2EE兼容服务器全部支持Servlet,例如JBOSS、Weblogic、Sun AS、Tomcat等等

ServletConfig在Servlet对象初始化时候,由init(ServletConfig)方法传给Servlet对象
ServletConfig 中的方法

ServletContext是Servlet的容器视图
获取Servlet的环境属性的方法
getMajorVersion——返回容器支持的主要Servlet规范
getMinorVersion ——返回容器支持的次要Servlet规范

getMimeType(String file) ——返回指定文件的Mime类型
getRealPath ——返回WEB应用程序文件的物理位置
getServerInfo——返回Servlet容器的信息

Servlet “转发”和“包含”的方法RequestDispatcher用于在响应中转发或包含其它资源
getRequestDispatcher
getNameDispatcher

“资源”和“上下文”
getResource(String path)——根据给定的路径返回一个映射路径
getResource(String path)——返回指定路径下的资源
getResourceAsStream(String path)——以输入流形式访问指定的资源


日志例程
   log(String msg)——将信息写入日志
Servlet之间通信例程
   属性是在Web应用程序中不同部分之间交换的对象

setAttribute(String,Object)
getAttribute(String)
removeAttribute(String)
ServletRequest
ServletResponse

验证
getAuthType——返回Servlet的验证方案
getRemoteUser——返回验证的用户名
getUserPrincipal——返回验证用户的信息
isUserRole——判断当前用户是否有权限

头部信息
getHeader——返回请求头
getHeaders——返回所有的请求头
getHeaderNames——返回全部请求头名字

URL信息
getQueryString——返回?后面的URL路径
getRequestURL——返回端口号到?之间的路径
getServletPath——返回Servlet名称和附加路径


getContextPath——返回被请求的上下文字符串
会话
getCookies——返回Cookie数组
getRequestSessionId——返回会话Id
getSession——获得会话,没有会创建一个

使用属性
getAttribue
getAttribueNames
setAttribue
removeAttribute

内容接口
getContentLength——返回MIME长度
getContentType——返回MIME类型
getCharacterEncoding——返回编码

客户机和请求属性
getProtocol——返回协议
getRemoteAddr——返回客户IP
getRemoteHost——返回客户Host
getServerName——返回服务器名
getServerPort——返回服务端口


读取客户机的输入
getReader/getInputStream
getParameter(String)——获取请求参数的值
getParameterNames——获取请求参数的名称枚举(Enmueration)
getParameterValues(String)——返回同名参数值的String数组


使用Cookie
      addCookie(Cookie)——向响应中加入Cookie
使用响应头
addHeader(String name,Stringvalue)
addDateHeader(String name,long date)
addIntHeader(String name,int value)


containsHeader(String name)——判定响应头中是否定义了这个参数名
setDateHeader(String name,long date)


URL 重写
   由于浏览器不支持Cookie或者禁用Cookie等原因,需要向URL中写入信息,这就是URL重写
encodeURL(String url)——将会话的id写入URL之中


跳转
sendRedirect(String location) ——跳转
encodeRedirectURL(String url) ——跳转页面,并且将会话id写入到URL

发送错误
sendError(int)——发送状态码
sendError(int,String)——发送带状态码,并且带有指定的文本
调用这发送错误的方法,那么Servlet被立即提交,不再有更多的输出


设置状态码
setStatus(int)
setStatus(int,String)

指定内容类型——setContentType(String)
text/html——html
application/pdf——pdf文档
application/msword——word文档
application/zip——zip文件

text/css——及联样式表
text/plain——纯文本
text/gif——GIF图像
text/jpeg——JPEG图像

Servlet API 提供了一个基本异常类javax.servlet.ServletException,这个异常在请求处理例程中抛出,例如service、doGet和doPost方法等

由于 Servlet 实例是非同步的,因此可以有多线程使用同一个 Servlet 实例
编程人员需要在 service、doGet 和 doPost 等方法同步数据
使用 SingleThreadModel 接口
使用单线程模型需要考虑将 Servlet 实例操纵的资源加以同步


PrintWriter 和 ServletOutputStream 都可以发送输出,但是取决于输出数据类型
   response.getWriter()
   response.getOutputStream()
发送 String 数据使用 PrintWriter,发送字节和ASCII 数据使用 OutputStream

请求转发
RequestDispatcher提供了将请求转发,并加入其它响应的机制
ServletRequest.getRequestDispatcher(String)
       getRequestDispatcher("secondservlet")
ServletContext. getRequestDispatcher(String)
       getRequestDispatcher("/servlet/secondservlet")
ServletContext. getNamedDispatcher(String)
       getNamedDispatcher("SecondServlet");

include(req,res) 方法
   将资源页面加入到 Servlet 中,资源页面对请求有完全修改权限,而对响应修改有限
forword(req,res) 方法
   将请求转发给另一个页面

保存客户端信息的方法有多种,比如隐藏字段、Cookie和Session。使用Session是到目前为止最易使用和被推荐的方法

用于会话跟踪的Cookie
   默认情况下Cookie名称为JSESSIONID,可以修改部署描述符,改变Cookie的属性
URL重写
   使用URL或者书签访问页面,那么URL中没有会话id信息


HttpServletSession对象可以保存Http会话,会话可以全程跟踪客户端信息。
会话不能被持久化保存,一旦客户销毁会话,或者客户与服务器连接断开等等都会销毁会话。另外可以使用串行化等技术保存会话信息


访问方法  信息
getId()          获得会话的ID
getLastAccessedTime() 获得最后访问会话事件
getCreationTime() 获得会话的创建时间
getMaxInactiveInterval()获得会话开放的最大时间间隔
getAttribute()  获得会话属性
setAttribute()  设置会话的属性
Invalidate()  是会话无效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值