Servlet学习笔记3,及回忆。
来源:互联网 发布:斗鱼软妹小九九的淘宝 编辑:程序博客网 时间:2024/04/29 18:05
The Web Container Model
javax.servlet.ServletContext 接口下的方法:
String getInitParameter(String name) 取得Context起始参数值。
Enumeration getInitParameterNames() 取得Context起始参数名称。
void log(String msg) 将特定信息写入Servlet容器(container)的日志文件。
void log(String msg , Throwable throwable) 将特定信息及丢出的例外写入Servlet容器的日志文件
void setAttribute(String name , Object object) 将某对象当作属性bind至ServletContext对象。
Object getAttribute(String name) 从ServletContext对象中取出某个属性。
Enumeration getAttributeNames() 从ServletContext对象中取出所有属性名称。
void removeAttribute(String name) 从ServletContext对象中移除某个属性。
URL getResource(String path) throws MalformedURLException 取得特定路径下的资源文件。
InputStream getResourceAsStream(String path) 取得特定路径下的资源文件。
javax.servlet.ServletContextListener 接口提供两个方法:
void contextInitialized(ServletContextEvent sce) è在Web应用程序的初始阶段被呼叫。
void contextDestroyed(ServletContextEvent sce) è在Web应用程序的结束阶段被呼叫。
javax.servlet.ServletContextAttributeListener 接口提供三个方法:
void attributeAdded(ServletContextAttributeEvent scae) ServletContext加入新属性时被呼叫。
void attributeRemoved(ServletContextAttributeEvent scae) ServletContext删除某属性时被呼叫。
void attributeReplaced(ServletContextAttributeEvent scae) ServletContext置换某属性时被呼叫。
javax.servlet.ServletRequestListener 接口提供两个方法:
void requestInitialized(ServletRequestEvent sce) 在request的初始阶段被呼叫。
void requestDestroyed(ServletRequestEvent sce) 在request的结束阶段被呼叫。
javax.servlet.ServletRequestAttributeListener 接口提供三个方法:
void attributeAdded(ServletRequestAttributeEvent scae) ServletRequest加入新属性时被呼叫。
void attributeRemoved(ServletRequestAttributeEvent scae) ServletRequest删除某属性时被呼叫。
void attributeReplaced(ServletRequestAttributeEvent scae) ServletRequest置换某属性时被呼叫
javax.servlet.http.HttpSessionListener接口提供的二个方法:
void sessionCreated(HttpSessionEvent se) 建立新的HttpSession时被呼叫。
void sessionDestroyed(HttpSessionEvent se) 移除某个HttpSession时被呼叫。
javax.servlet.http.HttpSessionActivationListener接口提供的二个方法:(不用在web.xml里设定配置)
void sessionWillPassivate(HttpSessionEvent se) 当HttpSession必须转移到其它服务器之前被呼叫。
void sessionDidActivate(HttpSessionEvent se) 当HttpSession被转移到其它服务器之后被呼叫。
javax.servlet.http.HttpSessionAttributeListener接口提供的三个方法:
void attributeAdded(HttpSessionBindingEvent sbe) HttpSession加入新属性时被呼叫。
void attributeRemoved(HttpSessionBindingEvent sbe) HttpSession删除某属性时被呼叫。
void attributeReplaced(HttpSessionBindingEvent sbe) HttpSession置换某属性时被呼叫。
javax.servlet.http.HttpSessionBindingListener接口提供的三个方法:(不用在web.xml里设定配置)
void valueBound(HttpSessionBindingEvent sbe) 当某对象bind至HttpSession时被呼叫。
void valueUnbound(HttpSessionBindingEvent sbe) 当某对象从HttpSession被删除时呼叫。
某物件:必须是实现HttpSessionBindingListener接口的对象。
===========================================================================
请求转送(Request Dispatching)
javax.servlet.ServletRequest 和 javax.servlet.ServletContext 皆有定义一个 getRequestDispatcher() 方法,回传一个RequestDispatcher对象,再使用javax.servlet.RequestDispatcher接口所定义的forward()或include()方法来转送或包含HTTP请求。
基本步骤: RequestDispatcher rd = request.getRequestDispatcher(“/ServletNmae”) ;
rd.forward(request , response) ; or
rd.include(request , response) ;
forward():将HTTP请求转送给其它Web资源(如Servler , JSP或HTML)进行处理。
1. 在HTTP回应被”确认”(committed)以前才能呼叫forward()方法,否则将抛出
IllegalStateException例外。
2. 呼叫forward()方法之后,原先存放在HttpServletResponse对象的内容将会自动被清除。
3. 送出forward()后,若再送出out.print()会丢出IllegalStateException例外。
include():将HTTP请求转送给其它Servlet时,被呼叫的Servlet如果产生任何HTTP响应,将会
并入原来的HttpServletResponse对象。
请注意,传入ServletContext.getRequestDispatcher()方法的路径名称必须以”/”开头,这里的”/”代表Web应用程序的起始位置(context root),也就是说必须是”绝对”路径。
线程安全(Thread-Safe)的变量与属性:
Local Variable 属于”线程安全”
Instance Variable 不属于”线程安全”
Class Variable 不属于”线程安全”
HttpServletRequest对象内的属性è属于”线程安全”
HttpSession对象内的属性 不属于”线程安全”
ServletContext对象内的属性 不属于”线程安全”
ServletContext、ServletConfig的起始参数(Initial Parameter)属线程安全,只能读取不能写入(修改)。
- Servlet学习笔记3,及回忆。
- Servlet学习笔记1,及回忆。
- Servlet学习笔记2,及回忆
- J2EE Servlet 学习笔记3
- chapter two学习笔记----章节回忆
- Servlet学习笔记 Servlet原理
- 《Servlet学习笔记》Servlet 简介
- [学习笔记]Servlet 中文乱码问题及解决方案剖析
- JSP及Servlet相关基础技术 学习笔记
- Servlet学习笔记 设置缓冲区的大小及标头
- Servlet 学习笔记 Session的设置及应用
- Servlet学习笔记3之通过继承HttpServlet开发Servlet
- JSP学习笔记(三)--------Servlet相关及Servlet路径跳转
- JavaEE学习笔记之Servlet/JSP(3)
- JSP&Servlet学习笔记----第3章
- Java web学习笔记3-servlet
- Servlet学习笔记
- servlet学习笔记
- Ubuntu 环境变量
- 关于如何在linux下 查看设备 型号、属性
- 找不到exceptionlog.dcu解决方法
- 负载均衡技术概览
- 产生包含字母(区分大小写)或数字组成的验证码(c#)
- Servlet学习笔记3,及回忆。
- 心情
- OddDecider3.java
- CSDN
- 沙漠城堡(3D MAX,6小时)
- VS快捷键
- 使用C#设置IIS站点运行的.Net版本示例
- 今天休息
- 存储过程编写经验和优化方法!