Servlet程序的主要分类
1。标准Servlet(JSP) ---MVC
2。过滤Servlet(过滤器)
3。监听Servlet(监听器)
如何实现过滤器
1. 所在的类实现Filter接口 ,注意,这里不需要继承HttpServlet,因为过滤器不一定是过滤Http协议
public interface Filter (Filter接口也是一个Servlet,但是在他的名字中看不出来)
public void init(FilterConfig filterConfig)
public void doFilter(ServletRequest req,ServletResponse resp,FilterChain chain);
在标准的Servlet中的doGet或者doPost方法中,传递的是HttpServletRequest,HttpServletResponse,
所以doFilter是为所有协议编写的,而doGet,doPost是为所有的Servlet编写的
public void destry();
因为Filter也是一个Servlet,那么他也必须部署
只不过把<Servlet>标签都改成<filter>标签就可以了
<filter>
<filter-name>myfilter</filter-name>
<filter-class>com.zwz.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*<url-pattern>
</filter-mapping>
注意:Fliter是一个纯Servlet,所以如果我们要使用HttpServlet的东西,比如HttpServletRequest,
那么需要转型
经常可以看到这样的代码: HttpSession session = (HttpSession)request.getSession();
//如果session不为空,则可以浏览其他页面
if(session.getAttribute("uname")!=null){
chain.doFilter(request,response);
}else{
//通过requestDispatcher跳转到登陆页
request.getRequestDispatcher("login.jsp");
}
开发时只专注于具体的业务实现,而对于登陆之类的验证,肯定属于组件,向整个程序中单独加入的
分享到:
相关推荐
6. **过滤器(Filter)**:允许在请求到达Servlet之前对其进行拦截和处理,如GZIP压缩、字符编码转换等。 7. **监听器(Listener)**:监听特定事件,如会话创建、销毁、上下文初始化等,可以进行相应的操作。 ### ...
6. **过滤器和监听器** - Servlet API中还包括Filter和Listener接口,它们能增强应用的功能,比如实现登录验证、字符编码转换、会话管理等。 7. **Web容器** - 如Tomcat、Jetty等,它们提供运行Servlet和JSP的环境...
6. **Web应用部署**:`web.xml`是Web应用程序的部署描述符,它定义了Servlet的映射、过滤器、监听器等配置,是Spring Boot等现代框架中的`application.properties`或`application.yml`的前身。`src`目录通常包含Java...
1. **部署描述符**:web.xml文件是Web应用的配置文件,它定义了Servlet、过滤器和监听器的映射,以及其他配置信息。 2. **生命周期**:Servlet具有初始化、服务、销毁三个阶段,JSP在首次被请求时会被转换为Servlet...
四、过滤器(Filter)与监听器(Listener) Filter接口允许开发者在请求到达Servlet之前和离开Servlet之后进行拦截操作,例如认证、日志记录、编码转换等。监听器如`ServletContextListener`, `...
3. **过滤器链的改进**:增强了过滤器链的管理,使得过滤器可以更灵活地控制请求和响应的流程。 4. **Servlet上下文初始化参数**:允许开发者在部署描述符中定义全局的初始化参数,供所有Servlet使用。 JSP-API 2.1...
开发者可以通过实现`javax.servlet.Filter`接口来创建过滤器,并通过`web.xml`部署描述符配置过滤规则。 Listener则是在特定事件发生时被调用的类,比如session创建、销毁或请求初始化等。它们通过实现不同的监听器...
4. **过滤器**:Servlet API 2.5引入了过滤器(Filter)概念,允许在请求到达Servlet之前或之后进行拦截和处理。过滤器可以用于数据验证、日志记录、字符编码转换等。 5. **会话管理**:Servlet API提供了...
Java-servlet-jdbcMysql-filter-CRUD】是一个综合性的项目,它涵盖了Java Web开发中的多个重要技术,包括JSP(Java Server Pages)、Servlet、JDBC(Java Database Connectivity)、MySQL数据库以及Filter过滤器。...
6. `javax.servlet.annotation`包:包含了各种注解,比如`@WebServlet`、`@WebFilter`和`@WebListener`,使得开发者可以通过注解方式声明Servlet、过滤器和监听器,简化了web.xml配置文件的编写。 7. `javax....
这个库包含了大量的静态方法,可以用来处理文件、流、过滤器、读写操作等。例如,它支持文件的复制、移动、删除,以及对文件和目录的高级操作。此外,它还提供了线程安全的缓冲流和数据转换功能,极大地简化了Java I...
在Web应用中,`web.xml`文件是部署描述符,它指定了Servlet的映射、初始化参数和过滤器等配置。例如,你可以通过以下配置将一个Servlet映射到URL路径: ```xml <servlet> <servlet-name>MyServlet</servlet-name...
总结,"超强过滤器"是解决JSP-Servlet之间中文参数GET-POST传递问题的有效手段,通过统一设定请求的字符编码,确保在整个Web应用中中文数据能够正确无误地传输和处理。对于大型项目,这样的全局解决方案可以大大提升...
- 引入过滤器(Filter)概念,允许开发者在请求到达Servlet之前进行拦截和处理,实现如权限控制、字符编码转换等功能。 - 支持Session跟踪,使得服务器可以跨多个请求识别用户。 3. **Servlet 2.4**: - 发布于...
4. **JSP生命周期管理**:包括`javax.servlet.jsp.JspPage`接口,表示一个JSP页面,以及`javax.servlet.jsp.JspServlet`,它是处理JSP请求的实际Servlet。 **servlet-api.jar** `servlet-api.jar`则包含了Servlet ...
在标题"Servlet过滤器的简单使用源码+文档"中,我们可以理解为这个压缩包包含了一个关于Servlet过滤器的基础应用示例,以及相关的源代码和文档资料。描述中提到的"实现一个登陆界面",表明了过滤器可能被用作验证...
5. **配置文件**(如web.xml):用于配置Servlet和过滤器,设置项目启动时的初始化参数。 6. **CSS和JavaScript文件**:提供页面样式和交互功能。 7. **图片和其他静态资源**:商品图片、图标等。 8. **数据库脚本**...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,而过滤器(Filter)是Servlet规范的一部分,允许我们在请求处理前后插入逻辑,以实现诸如数据验证、字符编码转换、日志记录等功能。...
在这个项目中,“jsp+servlet登录验证过滤器”涉及了用户登录验证的过程,以及使用过滤器(Filter)来实现这一功能。下面将详细介绍这个主题中的相关知识点。 1. **JSP**:JSP是一种服务器端的技术,允许开发者在...