Servlet、Servlet过滤器、Servlet监听器

翻译 2014年02月01日 12:04:49

1、Servlet是实现(implements)Servlet接口或继承(extends)Servlet接口的实现类HttpServlet的java类,首先要进行配置:@WebServlet("/Sevlet名"),另一种配置方式为在web.xml中进行配置

  •       使用servlet可以实现页面的转发,利用RequestDispatcher接口的forward()方法
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		RequestDispatcher requestDispatcher=request.getRequestDispatcher("main.jsp");	//创建
		requestDispatcher.forward(request, response);		//转发页面

	}
  •      使用servlet可以处理表单数据,在index.jsp文件中提交表单form1到servlet中处理,
<form id="form1" name="form1" method="post" action="MessageServlet">

                  在servlet中的处理为:

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		request.setCharacterEncoding("UTF-8");
		String person = request.getParameter("person");
		String content = request.getParameter("content");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter(); 
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("留言人:" + person + "<br>");
		out.print("留言内容:" + content + "<br>");
		out.println("<a href='8-4-index.jsp'返回</a>");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

2、Servlet过滤器需要实现(implements)java.servlet.Filter接口,直接的配置方式为在类中

@WebFilter(
                  filterName = "CountFilter"
		urlPatterns = { "/8-6-index.jsp" }, 
		initParams = { 
				@WebInitParam(name = "count", value = "1000")
		})
//属性介绍如下:
//filterName用于指定Servlet过滤器名
//urlPatterns用于指定哪些URL应用该过滤器,若所有页面均使用该过滤器则属性值设为"/*"
//initParams用于指定初始化参数
  • 使用Servlet过滤器可以实现网页访问计数器的功能,原理是将计数变量的值在该类的doFilter()方法中递增,因为客户端在请求服务器中的Web应用时,过滤器的拦截请求是通过doFilter()方法进行过滤处理的
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		count ++;											// 访问数量自增
		// 将ServletRequest转换成HttpServletRequest
		HttpServletRequest req = (HttpServletRequest) request;
		// 获取ServletContext
		ServletContext context = req.getServletContext();	
		context.setAttribute("count", count); 			// 将来访数量值放入到ServletContext中
		chain.doFilter(request, response); 			// 向下传递过滤器
	}

3、Servlet监听器可以监听到在特定时间发生的时间,并根据其作出相应的反应。与此相关的是Servlet和Jsp的8个Listener接口和6个Event类

注意事项:

Servlet实现的接口或继承的类都来自tomcat的包,将tomcat的lib文件夹下的jsp-api.jar和servlet-api.jar这两个包添加到classpath下(右击项目,选择Java Build Path>Libraries>Add External JARS,找到你计算机中的tomcat的安装路径,在common\lib文件夹下),就可以在servlet类中导入这个包了(import javax.servlet.*;)。

 

Servlet监听器和过滤器基本使用

实验一 使用listener或filter实现session的有效性的判断(例如用户名为null或session失效);修改监听器的代码,实现同一session下的用户名发生改变时,监听器可以对其...
  • qq_25965053
  • qq_25965053
  • 2017-05-06 23:34:59
  • 1116

servlet过滤器和监听器

 Servlet过滤器(Filter)过滤器是用于过滤Servlet的请求和响应,过滤器是存在于请求和被请求资源之间的。过滤器就像当于一个中间件,请求要经过过滤器,然后过滤器才去掉用Servlet,S...
  • hongxing4hao
  • hongxing4hao
  • 2007-01-24 22:32:00
  • 1182

【Java学习20170427】Servlet过滤器和监听器

JavaWeb Servlet过滤器和监听器 package com.tx.demo2; import java.io.IOException; import javax.servl...
  • linsila8121
  • linsila8121
  • 2017-04-27 18:52:14
  • 255

servlet/过滤器/拦截器/监听器

一、概念:          1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中...
  • dengbixuan
  • dengbixuan
  • 2015-08-19 03:23:20
  • 1163

JSP页面实现servlet过滤器与servlet监听器(JSP中级技术)

JSP页面实现servlet过滤器与servlet监听器(JSP中级技术) 一、servlet过滤器 我们将会探讨…. 1、什么是servlet过滤器 2、servlet过滤器的开发步骤 3...
  • ljheee
  • ljheee
  • 2016-04-15 13:40:54
  • 835

Java中Filter、Listener,拦截器的学习,listener、 filter、servlet 加载顺序及其详解

Filter filter可认为是Servlet的一种“变种”,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。它与Servlet的区...
  • lexang1
  • lexang1
  • 2016-08-17 16:18:26
  • 3127

JavaEE框架类——监听器(观察者模式)和Servlet技术的监听器session沌化与活化技术

监听器 监听器-就是一个实现待定接口的普通Java程序,此程序专门用于监听别一个类的方法调用。 什么是观察者模式: 定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知...
  • wangjian_an
  • wangjian_an
  • 2016-08-19 02:19:49
  • 1207

各种服务器+Servlet+过滤器+监听器+项目工作原理

服务器:强调服务,提供某种服务的机器。 WEB服务器:提供为用户的请求给出响应的服务的机器 数据库服务器:提供给用户进行增删改查数据的服务的机器 ...... WEB服务器时怎样具体的提供服务的呢? ...
  • sunhuwh
  • sunhuwh
  • 2013-08-18 01:05:32
  • 908

servlet 过滤器和监听器总结

过滤器 1、Filter工作原理(执行流程)               当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请...
  • pingnanlee
  • pingnanlee
  • 2014-05-07 19:55:04
  • 1032

Spring Boot 监听器 过滤器 Servlet 实例

Listener Filter Servlet的执行顺序通常为: 监听器、过滤器、servlet @RestController中的主Servlet都是DispatcherServlet,其默认的...
  • jixuju
  • jixuju
  • 2016-08-08 07:12:09
  • 2205
收藏助手
不良信息举报
您举报文章:Servlet、Servlet过滤器、Servlet监听器
举报原因:
原因补充:

(最多只允许输入30个字)