JSP中用filter 过滤某个包中的所有servlet 10

请问我应该如何配置XML才可以让CommentFilter过滤web包下的所有servlet呢?... 请问我应该如何配置XML才可以让CommentFilter过滤web包下的所有servlet呢? 展开
 我来答
北京巴卜技术有限公司
2017-11-08 · 【免费测试,验证码5秒必达】
北京巴卜技术有限公司
北京巴卜技术有限公司(以下简称巴卜)是具备国际水准的移动商务平台技术和应用方案提供商。自成立以来,巴卜始终 致力于为国内外企业提供具备国际技术水准的移动商务平台及运营服务。
向TA提问
展开全部
Filter开发分为二个步骤:1.编写java类实现Filter接口,并实现其doFilter方法。2.在web.xml文件中使用和元素对编写的filter类进行注册,并设置它所能拦截的资源。Filter链在一个web应用中,可以开发编写多个Filter,这些Filter组合起来称之为一个Filter链。web服务器根据Filter在web.xml文件中的注册顺序,决定先调用哪个Filter,当第一个Filter的doFilter方法被调用时,web服务器会创建一个代表Filter链的FilterChain对象传递给该方法。在doFilter方法中,开发人员如果调用了FilterChain对象的doFilter方法,则web服务器会检查FilterChain对象中是否还有filter,如果有,则调用第2个filter,如果没有,则调用目标资源。Filter链实验(查看filterChainAPI文档)Filter的部署-注册FiltertestFitlerorg.test.TestFiterword_file/WEB-INF/word.txt1.用于为过滤器指定一个名字,该元素的内容不能为空。2.元素用于指定过滤器的完整的限定类名。3.元素用于为过滤器指定初始化参数,它的子元素指定参数的名字,指定参数的值。在过滤器中,可以使用FilterConfig接口对象来访问初始化参数。元素用于设置一个Filter所负责拦截的资源。一个Filter拦截的资源可通过两种方式来指定:Servlet名称和资源访问的请求路径子元素用于设置filter的注册名称。该值必须是在元素中声明过的过滤器的名字设置filter所拦截的请求路径(过滤器关联的URL样式)指定过滤器所拦截的Servlet名称。指定过滤器所拦截的资源被Servlet容器调用的方式,可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默认REQUEST。用户可以设置多个子元素用来指定Filter对资源的多种调用方式进行拦截。子元素可以设置的值及其意义:REQUEST:当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问时,那么该过滤器就不会被调用。INCLUDE:如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。FORWARD:如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。ERROR:如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。Tip:Filter的部署—映射Filter示例:testFilter/test.jsptestFilter/index.jspREQUESTFORWARDFilterConfig接口:用户在配置filter时,可以使用为filter配置一些初始化参数,当web容器实例化Filter对象,调用其init方法时,会把封装了filter初始化参数的filterConfig对象传递进来。因此开发人员在编写filter时,通过filterConfig对象的方法,就可获得:StringgetFilterName():得到filter的名称。StringgetInitParameter(Stringname):返回在部署描述中指定名称的初始化参数的值。如果不存在返回null.EnumerationgetInitParameterNames():返回过滤器的所有初始化参数的名字的枚举集合。publicServletContextgetServletContext():返回Servlet上下文对象的引用。
乐观的ZHANG_
2019-09-18
知道答主
回答量:4
采纳率:0%
帮助的人:2942
展开全部

web.xml中这样配置:

<servlet>

<servlet-name>Login</servlet-name>

<servlet-class>com.zq.servlet.Login</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Login</servlet-name>

<url-pattern>/servlet/Login</url-pattern>

</servlet-mapping>

或者不配置web.xml在servlet中写注解:

@WebServlet("/servlet/Login")

配置fliter可以在web.xml中这样写:

<filter>

<filter-name>LoginFilter</filter-name>

<filter-class>com.zy.filter.UserLoginFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>LoginFilter</filter-name>

<url-pattern>/servlet/*</url-pattern>

</filter-mapping>

或者不配置web.xml在filter中写注解:

@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")

即在所有想过滤的servlet名字前加上“/setvlet”在过滤的时候过滤路径就可以写成“/servlet/*”这样就能过滤所有的Servlet。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l7722526
2019-05-02 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3760万
展开全部
1、在Jsp页面将文本框输入域放在html表单form之中提交
2、后台定义一个过滤器继承Filter.java
3、在过滤器中的doFilter方法中,将参数ServletRequest转化为HttpServletRequest
4、利用HttpServletRequest.getParameter();方法即可获取对应输入域的value值。
示例:
在Jsp页面:
<form>
<input type="text" name="username" value="zhangsan"/>

</form>
后台过滤器:
public class TestFilter implements Filter{

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filter) throws IOException, ServletException {
HttpServletRequest res = (HttpServletRequest) request;
//获取页面的username输入框的值

String username = request.getParameter("username");

return;
}

@Override
public void init(FilterConfig arg0) throws ServletException {

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-11-08
展开全部
这个是没有办法的,项目发布,路径中是没有包的概念的
可以将servlet的路径统一加一个前缀/f/*servlet
然后过滤f下所有文件即可,否则只能将所有servlet路径一个一个配置进去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天生新晃
2017-12-03 · 超过13用户采纳过TA的回答
知道答主
回答量:29
采纳率:87%
帮助的人:7.3万
展开全部
可以通过URL来进行过滤,首先你先要将所有的servlet的名称规范一下,比如 xxxServlet;
然后在web.xml中将CommentFilter的过滤范围配置成 /* ,过滤所有的请求,
最后在过滤器中获得请求的URL,在将含有Servlet的字符的URL处理处理掉,这样就达到过滤的效果了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式