Filter案例

package com.gqx.demo1;

import java.io.IOException;

import java.io.PrintWriter;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class AuthorityServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    

    public void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        String methodName=request.getParameter("method");

        //为了让一个servlet响应多个请求,这里可以使用反射

        try {

            Method method=getClass().getMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);

            method.invoke(this, request,response);

        catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        this.doGet(request, response);

    }

    

    private UserDao userDao=new UserDao();

    //获取用户所有的信息

    public void getAuthorities(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

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

        User user =userDao.get(userName);

        request.setAttribute("user", user);

        request.setAttribute("authorities", userDao.getAuthorities());

        request.getRequestDispatcher("/authority-manager.jsp").forward(request, response);

    }

                            

    public void updateAuthority(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

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

    

            String [] authorities = request.getParameterValues("authority");

            List<Authority> authorityList = userDao.getAuthorities(authorities);

            

            userDao.update(username, authorityList);

            response.sendRedirect(request.getContextPath() + "/authority-manager.jsp");

        

    }

    

}

时间: 2024-11-26 03:37:58

Filter案例的相关文章

Filter编程:(1)Filter基础

Filter简介 从功能角度来说,Filter能做什么? 从API角度来说,如何实现Filter? 从原理角度来说,Filter是如何实现拦截的? Filter生命周期和Filter链 Filter生命周期的三个方法:init.doFilter和destory Filter链及其调用顺序 Filter高级开发 HttpServletRequestWrapper HttpServletResponseWrapper 动态代理 Filter映射 Filter案例 1.Filter简介 1.1.从功能

RDD案例(DT大数据梦工厂)

内容: 1.map.filter.flatmap等操作回顾: 2.reduceBykey.groupBykey: 3.jion.cogroug: 算子共同特点:都是最常用的算子,构建复杂算法的基石,都是lazy级别的,不属于action 创建SparkContext是Spark的起点,只有创建SparkContext,才能创建RDD ==========map============ 适用于任何元素且对其作用的集合中的每一个元素循环遍历,并调用其作为参数的函数对每一个遍历的元素进行具体化处理 =

Filter相关

一. Filter (过滤器), session , cookie的生命周期 Filter: 创建:服务器启动的时候创建 销毁: 服务器关闭的时候销毁 中间执行doFilter()操作 Session: 创建: 服务器第一次调用getSession()时创建 销毁: 1.session过期,默认30mins 2.服务器非正常关闭,正常关闭session序列化到硬盘 3.手动调用session.invalidate(); 作用范围:多次请求(一次会话,浏览器关闭则session丢失) Cookie

Filter编程:(2)Filter进阶

Filter简介 从功能角度来说,Filter能做什么? 从API角度来说,如何实现Filter? 从原理角度来说,Filter是如何实现拦截的? Filter生命周期和Filter链 Filter生命周期的三个方法:init.doFilter和destory Filter链及其调用顺序 Filter高级开发 HttpServletRequestWrapper HttpServletResponseWrapper 动态代理 Filter映射 Filter案例 3.Filter高级开发 由于开发人

Java Web——过滤器

<Java Web开发技术应用——过滤器> 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上.过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息.在这之后,过滤器可以作如下的选择: ①以常规的方式调用资源(即,调用servlet或JSP页面). ②利用修改过的请求信息调用资源. ③调用资源,但在发送响应到客户机前对其进行修改. ④阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出. 用户请求——>过滤

JavaWEB过滤器和监听器技术

过滤器介绍 什么是过滤器 生活中的例子: 滤水器,口罩,杯子上滤网,渔网 生活中的过滤器:留下我们想要的,排除,我们不想要的. 高考: 只有分数够高的同学才能进入理想的大学.有一部分同学被拦截在大学之外.(起到拦截的作用) 传智播客: 一开始大家都是小白,进入传智播客学习,经历了4个月的学习,毕业之后,具有了一定(月薪10000左右)的编码能力. (对每一个经过的学员,都增强了学员的编码能力,起到了增强的作用) JavaWeb中的过滤器的概念: 对请求和响应进行拦截或者增强的对象,就是过滤器.

WDA-文档-基础篇/进阶篇/讨论篇

本文介绍SAP官方Dynpro开发文档NET310,以及资深开发顾问编写的完整教程. 链接:http://pan.baidu.com/s/1eR9axpg 密码:kf5m NET310 ABAP Web Dynpro目录 单元1: Web Dynpro 简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 单元2: Web Dynpro 控制器. . . . . . . . . . . . . . . . . . . . . .

101.logging

目录 参考资料 logging常用函数 logging.basicConfig(**kwargs)参数 format格式字符串 案例 logging模块的处理流程 logging四大组件 日志模块的常用方法 Logger Handler Formater Filter 案例 参考资料 https://www.cnblogs.com/yyds/p/6901864.html logging常用函数 logging.debug(msg, *args, **kwargs) 创建一条严重级别为DEBUG的

estore商城案例(三)------Filter过滤器:自动登录&amp;权限管理

前面写好了用户登录\注册\添加商品的功能模块.下面写一下对于这些功能模块的相关过滤器---自动登录与权限管理: 一.自动登录: 业务逻辑是这样的:jsp登录页面有个“自动登录选项”,如果登录这勾选了,那么在serlvet程序中则会额外的生成一个保存用户名和密码的cookie,然后每次用户向服务器发送请求时,Filter过滤器都会先判断用户的登录状态(session),如果已经登录那么无需做出受任何操作直接放行,如果没有登录(无session),那么这时体现自动登录功能作用的时候到了,先获取自动登