本文主要是介绍我用代码教会你(二):Filter做登录拦截,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我用代码教会你:Filter做登录拦截
- 1.前言
- 2.Filter是什么?
- 2.1官方这么定义Filter
- 2.2查看Filter文档
- 3.Filter执行流程图解
- 4.实际开发场景中的Filter
- 4.1统一编码处理
- 4.1.1业务场景
- 4.1.2项目结构
- 4.1.3 处理表单的Servlet
- 4.1.4 注册与登录的JSP页面
- 4.1.5 使用Filter处理所有请求的中文乱码
- 4.1.6 演示效果
- 4.2用户登录拦截器
- 4.2.1业务场景
- 4.2.2 项目结构
- 4.2.2 在上个例子的基础上,做如下准备:
- 4.2.3 编写登录拦截器
- 4.2.4 演示效果
- 4.3其他场景应用
- 5. 附上完整源代码
1.前言
在大家刚开始学习Java Web时,相信最先接触到的一定是JSP + Servlet来开发web应用。这里我们来唠一唠Servlet中的过滤器Filter的使用,以及相应的实际开发场景。
2.Filter是什么?
2.1官方这么定义Filter
过滤器(Filter)是一个对象,它对资源(servlet或静态内容)的请求或资源的响应执行过滤任务,或对两者执行过滤任务。——摘自JavaEE6文档
2.2查看Filter文档
Java EE6文档:https://tool.oschina.net/apidocs/apidoc?api=javaEE6
3.Filter执行流程图解
4.实际开发场景中的Filter
4.1统一编码处理
4.1.1业务场景
在我们开发Java Web中,form表单经常需要填写中文并且传递到服务器中进行存储。因此,我们进行需要处理乱码问题。
若注册表单有中文参数,则处理注册的Servlet就需要处理中文乱码问题;若登录表单有中文参数,则处理登录的Servlet就需要处理中文乱码问题;2个表单有中文就要处理2次,那10个form表单,100个form表单呢???
因此,通过Filter来统一处理所有请求的中文乱码问题,非常的酸爽。下面我们用代码演示下:
4.1.2项目结构
PS:此时我们实现一个这样的效果:写2个表单分别是login.jsp与register.jsp,填写中文进行提交表单。通过filter进行统一处理多个表单的中文乱码问题。
4.1.3 处理表单的Servlet
RegisterServlet:
@WebServlet(name = "RegisterServlet",urlPatterns = "/register.do")
public class RegisterServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//接收参数String username = request.getParameter("username");String pwd = request.getParameter("pwd");System.out.println("username:"+username+",pwd:"+pwd);request.getRequestDispatcher(
这篇关于我用代码教会你(二):Filter做登录拦截的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!