Filter和url-pattern在Servlet中的应用
程序员文章站
2022-06-10 16:13:18
...
首先我们要知道servlet跳转流程
一.servlet流程
== 所谓的Servlet生命周期 ==
首先从jsp页面中的action --->指向到web.xml中---》
(servlet-mapping标签)通过Url-partten--》servlet-name--》
找到(Servlet标签)servlet-name---》servlet-class
二.需要注意的地方
1.form表单中的action(\的用法); \ 代表的整个项目名(不要乱加)
2. 要注意拦截的路径
<servlet>
<servlet-name>servletone</servlet-name><!-- 名字 -->
<servlet-class>com.servlet.Servlet</servlet-class>
</servlet>
<!-- 设置servlet的 -->
<servlet-mapping>
<servlet-name>servletone</servlet-name><!-- 与需要使用的servlet的名字一致 -->
<url-pattern>*.action</url-pattern><!-- 浏览器的url,这里写的*.action,凡是以action作为结尾的url访问全部指向这个servle-mapping-->
</servlet-mapping>
三.filter的用法
使用场景和好处:
百度:不管你在首页地址栏后面输入什么,都会显示百度首页(除非你不访问百度这个页面)
好处:可以查看你到底有没有登录,没有登录不能访问首页(完善项目,更加严谨)
1.filter使用需要实现filter(javax.servlet.Filter包)
2.里面有销毁、初始化、执行的方法
filter在web.xml中的写法:
<!--用法和servlet类似-->
<filter>
<filter-name>lf</filter-name>
<filter-class>com.sun.Loginfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>lf</filter-name>
<url-pattern>/*</url-pattern> //拦截所有
三.常见的错误,报错请查看
1.action中 是否有 /;
2.url-partten的拦截是否正确;
3.请求转发或者重定向中,跳转路径是否有误;