深入理解Servlet:从Tomcat到过滤器Filter

需积分: 10 2 下载量 115 浏览量 更新于2024-07-29 收藏 4.17MB PDF 举报
"servlet学习笔记" 本学习笔记涵盖了Servlet的基础知识,从Tomcat服务器的介绍开始,深入到HTTP请求(GET、POST)的理解,再到Servlet的定义和生命周期,以及如何创建和配置Servlet程序。此外,笔记还讲解了Servlet的重要概念如GenericServlet、ServletConfig、HttpServlet,以及请求和响应处理、转发与重定向、Cookie和Session的使用,最后介绍了Filter、Wrapper和Listener等高级话题。 1. **Tomcat介绍** - Tomcat是Apache软件基金会Jakarta项目下的一个开源服务器,最初由Sun公司的JSWDK发展而来,专门用于运行Servlet和JSP。 - Tomcat不仅支持Servlet和JSP,还提供了一些商业级Java Web应用服务器的功能,是一个完全用Java语言编写的服务器。 2. **HTTP请求介绍** - GET请求:通常用于获取数据,请求参数显示在URL中,不安全,适合无状态、对数据安全性要求不高的场景。 - POST请求:用于提交数据,请求参数隐藏在请求体中,较GET请求更安全,适合提交敏感信息。 3. **Servlet** - Servlet是服务器端组件技术,用于扩展服务器功能,处理来自客户端的请求并返回响应。 - Servlet的生命周期包括加载、初始化、服务、销毁四个阶段。 4. **创建Servlet** - 创建Servlet可以通过继承HttpServlet类,重写doGet或doPost方法。 - 配置Servlet在web.xml文件中,指定Servlet的映射路径和类名。 5. **Servlet相关类和接口** - GenericServlet:抽象类,实现了Servlet和ServletConfig接口,适用于所有类型的协议。 - ServletConfig:提供了获取Servlet初始化参数的方法。 - HttpServlet:GenericServlet的子类,专为HTTP协议设计,简化了Servlet的开发。 6. **请求处理** - 获取请求参数:通过HttpServletRequest对象的getParameter方法。 - 编码问题:需注意字符编码的设置,以避免乱码问题。 - 路径问题:了解URI和URL的区别,掌握路径的使用规则。 7. **转发与重定向** - 重定向:客户端发起新的请求,地址栏会显示新URL,浏览器会记录历史。 - 转发:服务器内部操作,客户端看不到,不改变地址栏内容。 - 区别:重定向可见,转发不可见;重定向可跳转外部资源,转发只能在当前应用内。 8. **Cookie与Session** - Cookie:存储在客户端,用于跟踪用户状态,限制为4KB,且有有效期。 - Session:存储在服务器端,可存储大量数据,但会消耗服务器资源。 9. **Filter、Wrapper、Listener** - Filter:过滤器,可以拦截、修改请求和响应,实现权限控制、内容过滤等功能。 - Wrapper:Tomcat中的概念,每个Servlet对应一个Wrapper,负责Servlet的生命周期管理。 - Listener:监听器,监听特定事件并作出响应,如Session监听、应用程序上下文监听等。 这个学习笔记为初学者提供了一个全面的Servlet学习框架,从基础到高级,理论与实践相结合,是深入了解和掌握Servlet技术的良好参考资料。