- 浏览: 173812 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
1055229269mao:
一起学习,一起进步
servlet登陆过滤器 -
1055229269mao:
亲测好用。非常感谢了
servlet登陆过滤器 -
wx_hello:
此行:Builder builder = new BookDo ...
xml 解析例子 -
wx_hello:
我想说楼主,你那个SAX解析的不对吧。。貌似使用的dom解析出 ...
xml 解析例子 -
hxp520520:
下了源码,正研究
java ip 查询定位 QQwry.dat
1.创建servlet对象(通过load-on-startup来决定在什么时候被创建);
2.当servlet对象被创建成功以后,容器马上会调用它的有参的init方法---init只被调用一次;
3.服务客户端请求,客户端发起一个请求,容器就会调用servlet的service方法,并且传入ServletRequest,
ServletResponse对象;------service方法可以被调用多次;
4.当容器关闭或则应用被卸载的时候,servlet对象会被销毁,在销毁之前容器会调用destroy方法,
----destroy只被调用一次;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Datasource中存放的是collection;可以通过new来新建一个,也可以在目录服务器中通过JNDI获取;
跳转:内部跳转和外部跳转;最大区别:请求是否是同一个;
cookie&session:记录用户相关状态;最大区别:存放的位置不同;session可以存放对象.cookie不可以;
JSESSIONID一般是通过cookie写入客户端,如果关闭cookie则不能使用session;所以还有另外的方法;
URL重写:
<a href=state/modifyRelease;jsessionid=XXXXXXXX>modifyRelease</a>
------------------------------------------------------------------------------------------
req.getSession()
从request对象中获取jsessionid,如果根据这个jsessionid找不到一个对应的session
对象,则创建一个新的session对象返回,如果能找到则返回找到的session对象;
req.getSession(boolean create)
如果create为true,等价于req.getSession();
如果create为false,根据request对象传过来的jsessionId查找对应的session对象,如果能找到则返回
找不到则返回null;
六、request、session、application
request生命周期:生于容器接收到请求,死于servlet产生响应;
session生命周期公司
创建:客户端访问一个servlet,在servlet中调用了req.getSession方法;
销毁:1.关闭浏览器进程;
2.session过期;(在web.xml中指定<session-timeout>10</session-timeout>10钟后过期)
3.调用session.invalidate()方法;
不建议将大量数据放在内存中,这样会比较消耗服务器内存的;
requestScope=====>HttpServletRequest对象 (Scope:作用范围)
request.setAttribute(name,value)
Object value=request.getAttribute(name);
request.removeAttribute(name)
sessionScope=====>HttpSession对象
session.setAttribute(name,value)
Object value=session.getAttribute(name)
session.removeAttribute(name)
applicationScope=====>ServletContext对象
对于一个应用来说ServletContext对象是唯一的,存放所有用户登陆的共用信息;
创建:应用装载的时候
销毁:应用卸载的时候
sc.setAttribute(name,value)
Object value=sc.getAttribute(name)
sc.removeAttribute(name)
七、Filter:过滤器
对服务器上的特定资源采取措施,进行限制
Filter的应用:延迟登录、编码转换、审计......
Filter的使用步骤:
1)写Filter类
implements javax.servlet.Filter接口
重写Filter接口中的方法init(FilterConfig),
doFilter(ServletRequest,ServletResponse,FilterChain) , destroy()
2)在web.xml中进行配置
<filter>
<filter-name> 自己取,但要和<filter-mapping>中的对应 <filter-name>
<filter-class> Filter类的全限定名 </filter-class>
<init-param>
<param-name>...</param-name>
<param-value>...</param-value>
<init-param>
</filter>
在程序中通过FilterConfig.getInitParameter("name")取
<filter-mapping>
<filter-name> 和<filter>中的对应 </filter-name>
<url-pattern> Filter所限制访问的资源路径 </url-pattern>
</filter-mapping>
比如我们将<url-pattern>设为/ch5/*,那么我们在浏览器中访问/ch5下的
资源时Filter就会自动被调用
Filter的生命周期:
1)init(FilterConfig)
由容器调用,并且只调用一次
2)doFilter(ServletRequest,ServletResponse,FilterChain)
访问限定资源时,被调用,会被调用多次,注意考虑多线程问题,
处理方式和Servlet中的一样
3)destroy()
由容器调用,并且只调用一次
FilterChain.doFilter(ServletRequest,ServletResponse):可以认为是处理请求和
响应的分界限,在chain.doFilter(...)之前处理请求,在chain.doFilter(...)之后
处理响应
注意:一旦写了Filter一定要在Filter.doFilter(...)中调用FilterChain.doFilter()
方法,将请求交由其他资源继续处理
编码转换:
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
response.setCharacterEncoding("UTF-8");
过滤的url: /*
相同的资源可以被多个Filter过滤,Filter的执行顺序取决于web.xml中配置的
<filter-mapping>的顺序
八、监听器
监听器,对特定事件所采取的控制
常见事件:应用服务器的启动/关闭,会话的创建/删除,请求的创建/删除,属性的增加、替换、删
除等
Listener分类
应用级别:
ServletContextListener:
void contextDestroyed(ServletContextEvent sce):监听应用服务器的关闭
void contextInitialized(ServletContextEvent sce): 监听应用服务器的启动
ServletContextAttributeListener:
void attributeAdded(ServletContextAttributeEvent scab):
监听应用级别属性的增加,即ServletContext.setAttribute("user","briup")
void attributeRemoved(ServletContextAttributeEvent scab):
监听应用级别属性的删除,即ServletContext.removeAttribute(...)
void attributeReplaced(ServletContextAttributeEvent scab):
监听应用级别属性的替换,即使ServletContext.setAttribute("user","ibm")
会话级别:
HttpSessionListener
void sessionCreated(HttpSessionEvent se):监听会话的创建
如,HttpServletRequest.getSession()
void sessionDestroyed(HttpSessionEvent se):监听会话的删除
如,HttpSession.invalidate()
HttpSessionAttributeListener
void attributeAdded(HttpSessionBindingEvent se)
监听会话级别属性的增加,即HttpSession.setAttribute(...,...)
void attributeRemoved(HttpSessionBindingEvent se)
监听会话级别属性的删除,即HttpSession.removeAttribute(...)
void attributeReplaced(HttpSessionBindingEvent se)
监听会话级别属性的替换,即HttpSession.setAttribute(...,...)
请求级别:
ServletRequestListener
void requestDestroyed(ServletRequestEvent sre):监听请求的删除
void requestInitialized(ServletRequestEvent sre):监听请求的创建
ServletRequestAttributeListener
void attributeAdded(ServletRequestAttributeEvent srae)
监听请求级别属性的增加,即HttpServletRequest.setAttribute(...,...)
void attributeRemoved(ServletRequestAttributeEvent srae)
监听请求级别属性的删除,即HttpServletRequest.removeAttribute(...)
void attributeReplaced(ServletRequestAttributeEvent srae)
监听请求级别属性的替换,即HttpServletRequest.setAttribute(...)
注:Listener程序不需要我们去调用,它由相应的事件触发执行
配置文件中:<listener>
<listener-class>ch07.ContextListener</listener-class>
</listener>
发表评论
-
Port 80 or 443 (SSL) already in use ! Installing Apache2.2 service failed!的解决方案
2011-02-15 10:16 2963Port 80 or 443 (SSL) already in ... -
java断言 assert
2010-04-14 02:37 1485java 断言 assert 初步使用:断言开启、断言使用主要 ... -
java抽取word,pdf的四种武器
2010-03-12 16:37 1493很多人用java进行文档操作时经常会遇到一个问题,就是如何获得 ... -
Java调用com组件操作word使用总结
2010-03-12 16:35 2182一、准备工作 先了解一下概念,JACOB 就是 J ... -
Java操作office 2007文档
2010-03-12 16:23 1793我们希望将Office 20 ... -
java平台下通过jacob对excel,word进行打印等操作
2010-03-09 09:22 2864因为项目有个需求,要求能够在某个预定时间对特定报表进行自动打印 ... -
An internal error occurred during: "JSP Semantics Validator (JSF)". org/eclipse/
2009-11-17 11:58 2208An internal error occurred duri ... -
Comparator和Comparable比较
2009-09-22 23:40 834当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comp ... -
struts验证框架开发
2009-09-10 17:38 812一、启用Validator插件 虽然Validator框 ... -
在jsp环境中配置使用FCKEditor
2009-09-09 21:32 752FCKeditor是sourcefor ... -
配置FCKeditor(FCKeditor for java)
2009-09-09 21:28 12391.下载FCKeditor.java ... -
Java排序算法
2009-07-20 15:52 1065public class Sort { public ... -
log4j配置详
2009-07-17 14:59 711log4j详解 ... -
关于java打印功能的最简单实现的学习笔记
2009-07-16 17:03 2370<scr ... -
Java高级编程:打印--学习如何使用打印服务API
2009-07-16 16:36 1728作者:Brett Spell 翻 ... -
Tomcat 配置
2009-07-15 11:00 867Tomcat启动分析 1 - To ... -
键盘快捷键大全
2009-07-01 09:48 1033、常见用法: F1 ... -
Linux必学60个命令文件处理
2009-07-01 09:47 983linux系统信息存放在文 ... -
pager-taglib使用指南【转】
2009-06-30 16:38 7462009-05-13 09:49 一简介, ... -
pager-taglib使用指南【转】
2009-06-30 16:37 7442009-05-13 09:49 一简介, ...
相关推荐
JavaServlets帮助文档JavaServlets帮助文档JavaServlets帮助文档JavaServlets帮助文档JavaServlets帮助文档JavaServlets帮助文档JavaServlets帮助文档
《Murach's Java Servlets and JSP 2nd Edition》是一本深受欢迎的Java Web开发教程,涵盖了使用Servlets和JSP进行动态网页编程的核心知识。源代码是学习过程中的重要辅助材料,它能帮助读者深入理解书中的实例,...
Java Servlets和Java Swing是Java开发中的两个重要技术领域,分别用于Web服务器端和桌面应用程序的开发。 **Java Servlets** Java Servlets是Java平台上用于扩展Web服务器功能的Java类。它们是Java EE(企业版)的...
Java Servlets是Java EE平台中的一个核心组件,用于构建动态Web应用程序。Servlets是一个服务器端的Java类,它扩展了Web服务器的功能,使得服务器能够处理HTTP请求并返回响应。本编程指南将深入探讨Java Servlets的...
Murach's Java Servlets and JSP, 2nd Edition.高清文字版,并加入了书签--part2
Java Servlets编程指南
Murach's Java Servlets and JSP, 2nd Edition.高清文字版,并加入了书签--part1
第1章 servlet概述第2章 Java Web服务器第3章 第一个servlet 第4章 servlet链第5章 servlet-side Includes 第6章 会话管理第7章 安全性 第8章 HTML表单第9章 在servlet中使用JDBC 第10章 applet与servlet的通信第11...
Murach's Java Servlets and JSP, 3rd Very good introduction on servlet and jsp.
这个压缩包文件集合包含了一系列与Java Servlets相关的源代码示例,覆盖了多个章节,从基础到进阶,帮助开发者深入理解并实践Servlets编程。 首先,我们来看看每个章节的主题可能涉及的知识点: 1. **chapter05....
### 静态分析在Java Servlets与JSP中的应用 #### 概述 本文档主要探讨了如何通过静态分析技术来确保基于Java Servlets和JSP开发的Web应用程序的行为符合预期。具体而言,该研究关注于两个核心问题:一是确保所有...
本教程的压缩包文件"JavaServlets_shishuo.chm"很可能包含了详细的章节,讲解了上述知识点。通过阅读,你将能够理解和实践Servlets编程,为Java Web开发打下坚实基础。建议结合实际项目进行学习,以便更好地理解和...
### Murach's Java Servlets and JSP 第二版 关键知识点概述 #### 一、绪论:Java Web 开发入门 - **Java Web 开发概述**:本书首先介绍了使用 Java 进行 Web 开发的基本概念,包括 Java 在 Web 开发中的角色以及...
### Java for the Web with Servlets: A Comprehensive Overview #### Introduction "Java for the Web with Servlets, JSP, and EJB: A Developer’s Guide to J2EE Solutions" by Budi Kurniawan is a ...
Java开发指南-Servlets和JSP篇是一份深入讲解Java Web开发的重要资料,主要涵盖了Servlets和JSP(JavaServer Pages)这两个核心技术。在Web应用开发领域,Servlets和JSP是构建动态网站和Web服务的基石,尤其对于后端...