导航:首页 > 净水问答 > 过滤器招标信息

过滤器招标信息

发布时间:2022-06-25 20:25:07

过滤器理论的实验依据是什么

你说的过滤器理论,指的是心理学认知加工的过滤器理论吧。
过滤器理论是由布罗德本特提版出来的,指我们的注权意是一个过滤器,会选择一部分信息用于认知加工,另一部分就阻断掉。
布罗德本特采用的是双耳分听任务,来证明过滤器理论。就是让被试左右耳听不同的内容,接着把被试分为两组,每组都是重复两只耳朵听到的内容。但第一组没有时间顺序,就是左耳听到123,右耳听到456,那结果就是123456,任意排布都算对.而第二组有时间顺序,就是先听到的数字要写前面。
结果第一组正确率远高于第二组。布罗德本特对此的解释是,第一组由于没有顺序要求,那只需要转移一次注意力,先听左耳,再听右耳,所以正确率高。而第二组,由于有顺序要求,那每听一个数字,注意都得转移一次。比如左耳听到1,右耳听到2,左耳又听到3,那就是123。所以正确率比较低。
不过莫里的“鸡尾酒效应”,证明过滤器理论有严重缺陷。不过作为早期的心理认知理论,还是对心理认知领域,有很大贡献的。

❷ java项目和web项目中的过滤器文件怎么使用

过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:

1. 以常规的方式调用资源(即,调用servlet或JSP页面)。
2.利用修改过的请求信息调用资源。
3. 调用资源,但在发送响应到客户机前对其进行修改
4. 阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。

1. 建立基本过滤器
建立一个过滤器涉及下列五个步骤:
1)建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。
doFilter方法包含主要的过滤代码(见第2步),init方法建立设置操作,而destroy方法进行清楚。
2)在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。
3)调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。
4)对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。
5)禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。
1.1 建立一个实现Filter接口的类
所有过滤器都必须实现javax.servlet.Filter。这个接口包含三个方法,分别为doFilter、init和destroy。

public void doFilter(ServletRequset request,
ServletResponse response,
FilterChain chain)
thows ServletException, IOException

每当调用一个过滤器(即,每次请求与此过滤器相关的servlet或JSP页面)时,就执行其doFilter方法。正是这个方法包含了大部分过滤逻辑。第一个参数为与传入请求有关的ServletRequest。对于简单的过滤器,大多数过滤逻辑是基于这个对象的。如果处理HTTP请求,并且需要访问诸如getHeader或getCookies等在ServletRequest中无法得到的方法,就要把此对象构造成HttpServletRequest。

第二个参数为ServletResponse。除了在两个情形下要使用它以外,通常忽略这个参数。首先,如果希望完全阻塞对相关servlet或JSP页面的访问。可调用response.getWriter并直接发送一个响应到客户机。其次,如果希望修改相关的servlet或JSP页面的输出,可把响应包含在一个收集所有发送到它的输出的对象中。然后,在调用serlvet或JSP页面后,过滤器可检查输出,如果合适就修改它,之后发送到客户机。

DoFilter的最后一个参数为FilterChain对象。对此对象调用doFilter以激活与servlet或JSP页面相关的下一个过滤器。如果没有另一个相关的过滤器,则对doFilter的调用激活servlet或JSP本身。

public void init(FilterConfig config) thows ServletException

init方法只在此过滤器第一次初始化时执行,不是每次调用过滤器都执行它。对于简单的过滤器,可提供此方法的一个空体,但有两个原因需要使用init。首先,FilterConfig对象提供对servlet环境及web.xml文件中指派的过滤器名的访问。因此,普遍的办法是利用init将FilterConfig对象存放在一个字段中,以便doFilter方法能够访问servlet环境或过滤器名.其次,FilterConfig对象具有一个getInitParameter方法,它能够访问部署描述符文件(web.xml)中分配的过滤器初始化参数。

public void destroy( )
大多数过滤器简单地为此方法提供一个空体,不过,可利用它来完成诸如关闭过滤器使用的文件或数据库连接池等清除任务。

1.2 将过滤行为放入doFilter方法
doFilter方法为大多数过滤器地关键部分。每当调用一个过滤器时,都要执行doFilter。对于大多数过滤器来说,doFilter执行的步骤是基于传入的信息的。因此,可能要利用作为doFilter的第一个参数提供的ServletRequest。这个对象常常构造为HttpServletRequest类型,以提供对该类的更特殊方法的访问。

1.3 调用FilterChain对象的doFilter方法
Filter接口的doFilter方法以一个FilterChain对象作为它的第三个参数。在调用该对象的doFilter方法时,激活下一个相关的过滤器。这个过程一般持续到链中最后一个过滤器为止。在最后一个过滤器调用其FilterChain对象的doFilter方法时,激活servlet或页面自身。
但是,链中的任意过滤器都可以通过不调用其FilterChain的doFilter方法中断这个过程。在这样的情况下,不再调用JSP页面的serlvet,并且中断此调用过程的过滤器负责将输出提供给客户机。

1.4 对适当的servlet和JSP页面注册过滤器
部署描述符文件的2.3版本引入了两个用于过滤器的元素,分别是:filter和filter-mapping。filter元素向系统注册一个过滤对象,filter-mapping元素指定该过滤对象所应用的URL。

下面是一个完整的例子:
//建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。
//doFilter方法包含主要的过滤代码,init方法建立设置操作,而destroy方法进行清
package filterpkg;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class testFilter implements Filter{
public void init(FilterConfig filterConfig) throws ServletException
{
}
//在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。
//此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。
//第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。
//最后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain)
{
PrintWriter wout=null;
try
{
wout=response.getWriter();
}
catch(IOException e)
{
}
HttpServletRequest req=(HttpServletRequest)request;//将request转化为它的子类HttpServletRequest
String uri=req.getRequestURI();//获得传入的URI
if (uri.indexOf("MyJsp.jsp")>0 ||uri.indexOf("MainForm.do")>0 )//如果是我们指定的登录页面或验证页面
{
try
{
//调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。
//在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。
filterChain.doFilter(request, response);
}
catch(Exception e)
{
}
return;
}

if (req.getSession()!=null)
if (req.getSession().getAttribute("USERID")==null)
{
wout.write("<HTML><BODY> Check error! <br/> </BODY> </HTML>");
wout.flush();
return;
}
try
{
filterChain.doFilter(request, response);
}
catch(Exception e)
{
}
}

public void destroy()
{
}
}

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>CHECKCODE</filter-name>
<filter-class>filterpkg.testFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CHECKCODE</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>ControlServlet</servlet-name>
<servlet-class>filterpkg.ControlServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ControlServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

❸ 在java 过滤器中 定义了一个 Filterconfig类型的变量,该变量有什么意思呢求解

厄 就是filterconfig的配置类啊 用来初始化filter的时候使用 不过一般不使用

❹ 过滤器 问题

过滤器 首先在 web.xml中配置
<filter-mapping>
<filter-name>encoding(名字)</filter-name>
<url-pattern>/*(有效范围/*代表所有,如果是/page/* 就代表请求page文件路径下的所有请求 都会经过过滤器处理)</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>encoding(对应上面的名字)</filter-name>
<url-pattern>com.test.CharEncoding(过滤器所在位置)</url-pattern>
</filter-mapping>

然后是过滤器写法
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//获得HttpServletRequest
HttpServletRequest req=(HttpServletRequest)request;
//讲所有经过这个 过滤器处理的请求的编码设置为utf-8
req.setCharacterEncoding("UTF-8");
//设置完之后 就继续运行程序
chain.doFilter(request, response);
}

如果程序好吧 一条河流 水在一直往下流
过滤器 就是 在指定位置上 放了个滤网

你要知道
chain.doFilter(request, response);
是什么意思 就要知道 web 程序运行 原理

客户端 访问web程序 是通过提交一个请求到
web服务器 即request(访问方式有 get post..等 访问内容...想深入了解自己查,我这写不了这么多)
然后web 服务器 通过request 请求的方式和内容
进行操作,并返回
相应的结果(response) 给客户端(一般式返回一个jsp结果页面)
就是这么一个 过程
过滤器中的方法
就是 将 客户端的 请求(request)进行 “过滤”
然后 将过滤后得到的的request 继续由web程序里的
其他组件完成后续工作 返回结果

而调用 chain.doFilter(request, response);
就是让 "过滤"后的request 继续执行,
进入其他 web程序组件中

当然 如果你不写这句话
request走到这个地方 就会停止

❺ 如何创建过滤器Filter

建立一个过滤器涉及下列五个步骤: 1、建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法包含主要的过滤代码,init方法建立设置操作,而destroy方法进行清楚。 2、在doFilter方法中放入过滤行为。doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过滤器中忽略此参数。最后一个参数为FilterChain,如下一步所述,此参数用来调用servlet或JSP页。 3、调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作为它的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。 4、对相应的servlet和JSP页面注册过滤器。在部署描述符文件(web.xml)中使用filter和filter-mapping元素。 5、禁用激活器servlet。防止用户利用缺省servlet URL绕过过滤器设置。doFilter方法: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException{HttpServletRequest req = (HttpServletRequest)request; System.out.println(req.getRemoteHost() + " tried to access " +req.getRequestURL() +" on " + new Date() + "."); chain.doFilter(request,response); }在web.xml中进行部署 分别是:filter和filter-mapping。filter元素向系统注册一个过滤对象,filter-mapping元素指定该过滤对象所应用的URL。 1.filter元素 filter元素位于部署描述符文件(web.xml)的前部,所有filter-mapping、servlet或servlet-mapping元素之前。filter元素具有如下六个可能的子元素: :icon 这是一个可选的元素,它声明IDE能够使用的一个图象文件。 :filter-name 这是一个必需的元素,它给过滤器分配一个选定的名字。 :display-name 这是一个可选的元素,它给出IDE使用的短名称。 :description 这也是一个可选的元素,它给出IDE的信息,提供文本文档。 :filter-class 这是一个必需的元素,它指定过滤器实现类的完全限定名。 :init-param 这是一个可选的元素,它定义可利用FilterConfig的getInitParameter方法读取的初始化参数。单个过滤器元素可包含多个init-param元素。2.filter-mapping元素 filter-mapping元素位于web.xml文件中filter元素之后serlvet元素之前。它包含如下三个可能的子元素:: :filter-name 这个必需的元素必须与用filter元素声明时给予过滤器的名称相匹配。 :url-pattern 此元素声明一个以斜杠(/)开始的模式,它指定过滤器应用的URL。所有filter-mapping元素中必须提供url-pattern或servlet-name。但不能对单个filter-mapping元素提供多个url-pattern元素项。如果希望过滤器适用于多个模式,可重复整个filter-mapping元素。 :servlet-name 此元素给出一个名称,此名称必须与利用servlet元素给予servlet或JSP页面的名称相匹配。不能给单个filter-mapping元素提供多个servlet-name元素项。

❻ y型过滤器标准及产品分类

过滤器的作用大家都是知道的,而过滤器也有许多种形状,这个大家可能不知道啦了,过滤器有U型的、Y型的也有R形状的等等。而今天我们就来说一下Y型过滤器吧,首先,Y型过滤器通常会安装在一些减压阀、定水位阀这些文位置,以便于清楚介质中的杂质,达到保护阀门的正常使用这个目的,那么Y型过滤器的标准是什么呢?下文将会给你说一下。



Y型过滤器的标准得遵循相关的标准,下面是Y型过滤器的一些相关标准:

1、设计规范:HG/T21637

2、结构长度:GB/T12221

3、连接法兰:JB/T79

4、试验与检验:JB/T9092

5、产品标识:GB/T12220

6、供货规范:JB/T7928

具体的标准按照不同规格和不同型号的产品数值来定。



Y型过滤器产品分类:

1.空气过滤器使受到污染的空气被洁净到生产、生活所需要的状态,也就是使空气达到一定的洁净度。

2.液体过滤器使受到污染的液体被洁净到生产、生活所需要的状态,也就是使液体达到一定的洁净度。

3.网络过滤器通过设置来阻挡垃圾信息,使出电脑屏幕上的信息尽量符合要求。同吸收的原理将不同颜色的光线分离



4.光线过滤器,把一些不需要的光线吸收掉。上面说的应该是网式过滤器,其实过滤器还有很多种,譬如叠片过滤器、砂滤器、碳滤器等等,主要原理都是利用过滤介质的孔径截留比介质孔径更小的物质,当然有的过滤介质还具有吸附等特殊效果。大多过滤器反洗也没有那么麻烦,只要用清水从过滤出水的一端导入逆向反冲洗过滤器中的介质就可以达到很好反洗效果。本类阀门在管道中一般应当水平安装。



上文已经讲了Y型过滤器的一些标准。目前国内的Y型过滤器是没有统一的标准的,现在使用的是欧美的标准。同时也说了Y型过滤器有多少种类型,还需要注意的,大家要知道Y型过滤器的介质可以是水、油以及气体。小编也举例说一下,当一些介质(例如水)进入Y型过滤器的时候,一些杂质(例如沉淀物)就会被拒之门外,而洁净的液体就会从另一个端口出来,达到过滤的作用。

❼ SpringMVC的拦截器和过滤器的区别与联系

1、首先要明确什么是拦截器、什么是过滤器
1.1 什么是拦截器:
拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。
在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。
谈到拦截器,还有一个词大家应该知道——拦截器链(Interceptor Chain,在Struts2中称为拦截器栈 Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。
1.2. 拦截器的实现原理:
大部分时候,拦截器方法都是通过代理的方式来调用的。Struts2的拦截器实现相对简单。当请求到达Struts2的ServletDispatcher时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表(list),最后一个一个地调用列表中的拦截器。
1.3 什么是过滤器
过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:
①以常规的方式调用资源(即,调用servlet或JSP页面)。
②利用修改过的请求信息调用资源。
③调用资源,但在发送响应到客户机前对其进行修改。
④阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。

1.4 Servlet过滤器的基本原理
在Servlet作为过滤器使用时,它可以对客户的请求进行处理。处理完成后,它会交给下一个过滤器处理,这样,客户的请求在过滤链里逐个处理,直到请求发送到目标为止。例如,某网站里有提交“修改的注册信息”的网页,当用户填写完修改信息并提交后,服务器在进行处理时需要做两项工作:判断客户端的会话是否有效;对提交的数据进行统一编码。这两项工作可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功,将把视图派发到指定的错误页面。

2、拦截器与过滤器的区别 :
1. 拦截器是基于java的反射机制的,而过滤器是基于函数回调。
2. 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。
3. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4. 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
5. 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

拦截器的代码实现(以struts2为例):
1、在xml文件中如何定义拦截器
<interceptors>
<interceptor name="filterIPInterceptor"
class="com.xxxx.web.FilterIPActionInterceptor" />
<interceptor-stack name="filterIPStack">
<interceptor-ref name="defaultStack" />

<interceptor-ref name="filterIPInterceptor" />
</interceptor-stack>
</interceptors>

2、怎么遍别写自定义拦截器

public class FilterIPActionInterceptor extends AbstractInterceptor
{
/** 日志控制. */
private final Log log = LogFactory.getLog(getClass());

/**
* @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
*/
@Override
@SuppressWarnings("unchecked")
public String intercept(ActionInvocation invocation) throws Exception
{
String result = null;
// 获得当前方法名.
String methodName = invocation.getInvocationContext().getName();
String currIp = null;
try
{
if (invocation.getAction() instanceof PortletAction)
{
PortletAction action = (PortletAction) invocation.getAction();
currIp = action.getRequest().getRemoteAddr();
}
String ip = ApplicationResource.getHotValue("ALLOW_CACHE_IP");

if (StringUtils.isBlank(ip) || StringUtils.isBlank(currIp))
{
log.error("允许刷新的IP不存在或当前请求的IP非法.");
throw new NoAllowIPException();
}
else
{
String[] ips = ip.split(",");
boolean errorIp = true;
for (String s : ips)
{
if (s.equals(currIp))
errorIp = false;
}
// 判断IP
if (errorIp)
throw new NoAllowIPException();
}
result = invocation.invoke();//调用被拦截的方法
}
catch (Exception e)
{
log.error("异常类名:" + invocation.getAction().getClass());
log.error("异常方法:" + methodName, e);
throw e;
}

return result;
}

}

3、怎么编写过滤器

1、在web.xml里面配置自定义的拦截器
<filter>
<filter-name>Redirect Filter</filter-name>
<filter-class>com.xx.filter.RedirectFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>Redirect Filter</filter-name>
<url-pattern>/xx/xx/*</url-pattern>

</filter-mapping>

2、如何编写自定义的拦截器
public class RedirectFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {
// 获取URL
Long startTime = null;
if (log.isDebugEnabled())
{
startTime = System.currentTimeMillis();
}
HttpServletRequest httpRequest = (HttpServletRequest) request;
String url = httpRequest.getRequestURL().toString();
if (url == null || url.trim().length() == 0) {
return;
}
if (url.indexOf(luceneCreateMapping) != -1
|| url.indexOf(luceneSearchMapping) != -1) {
doFilterForxxx(request, response, url);
} else {
doxxxx(request, response, url);
}
if (log.isDebugEnabled())
{
long endTime = System.currentTimeMillis();
Thread currentThread = Thread.currentThread();
String threadName = currentThread.getName();
log.debug("[" + threadName + "]" + "< "
+ this.getClass().getName() + " " + url + " "
+ (endTime - startTime) + " ms");
}
// 激活下一个Filter
filterChain.doFilter(request, response);

}
}

❽ 过滤器是什么

过滤器是去除水中杂质、沉淀物和悬浮物、细菌,从而达到过滤的目的内水处理设备。

过滤器按滤容料类型分类:

1.滤芯式过滤器:使用pp棉等材质做滤芯进行过滤;

2.袋式过滤器:用无纺布,尼龙等材质做滤袋的过滤器;

3.软化水过滤器:用软化树脂做滤料的过滤器;

4.多介质过滤器:用石英砂、活性炭、锰砂等作为滤料,分别叫石英砂过滤器,活性炭过滤器,锰砂机械过滤器,碳钢多介质过滤器等。

❾ 过滤器也是阀门吗

过滤器不属于阀门的分类、过滤器是输送介质管道上不可缺少的一种装置版,通常安装在减压阀权、泄压阀、定水位阀或其它设备的进口端,用来消除介质中的杂质,以保护阀门及设备的正常使用。当流体进入置有一定规格滤网的滤筒后,其杂质被阻挡,而清洁的滤液则由过滤器出口排出,当需要清洗时,只要将可拆卸的滤筒取出,处理后重新装入即可,因此,使用维护极为方便。

阅读全文

与过滤器招标信息相关的资料

热点内容
洗浴区大理石除垢 浏览:470
丁冬和浩哥的电影叫什么 浏览:546
泰国影片《永恒2010》在线观看下载 浏览:515
电影院怎么买票看电影 浏览:605
带肉的电影 浏览:765
台湾全漏电影 浏览:118
污水中的浓硫酸怎么去除 浏览:908
钾型阳离子交换树脂 浏览:425
醋里面用蒸馏剂 浏览:715
烧烤车净化器不净化了怎么办 浏览:776
防水除尘滤芯怎么做 浏览:233
长耳朵外星人电影叫什么 浏览:786
女主是妓女,男主是农村小伙 电影 浏览:44
净水机老是出现缺水是怎么回事 浏览:422
男主囚禁女主脚链手链的小说 浏览:303
香港女鬼复仇的电影有哪些 浏览:335
战狼4最新版原版 浏览:773
南昌西站明珠旁污水处理厂 浏览:699
过滤式负离子空气净化器怎么使用 浏览:164
超滤设备类型 浏览:217