当前位置: 首页 > news >正文

后台网站建设招聘网络营销解释

后台网站建设招聘,网络营销解释,门户站模板,答题卡在线制作网站目录 一、普通参数:ParameterRequestWrapper 二、HttpHelper请求处理字符串工具类 三、实体json参数:RequestWrapper 四、过滤器:PostFilter 五、Controller 一、普通参数:ParameterRequestWrapper import javax.servlet.http.HttpServletRequest;…

目录

一、普通参数:ParameterRequestWrapper

二、HttpHelper请求处理字符串工具类

三、实体json参数:RequestWrapper

四、过滤器:PostFilter

五、Controller

一、普通参数:ParameterRequestWrapper
import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletRequestWrapper;

import java.util.Enumeration;

import java.util.Map;

import java.util.Vector;

/**

 * 普通参数设置

 *

 */

public class ParameterRequestWrapper extends HttpServletRequestWrapper {

    private Map params;

    public ParameterRequestWrapper(HttpServletRequest request, Map newParams) {

        super(request);

        this.params = newParams;

    }

    @Override

    public Map getParameterMap() {

        return params;

    }

    @Override

    public Enumeration getParameterNames() {

        Vector l = new Vector(params.keySet());

        return l.elements();

    }

    @Override

    public String[] getParameterValues(String name) {

        Object v = params.get(name);

        if (v == null) {

            return null;

        } else if (v instanceof String[]) {

            return (String[]) v;

        } else if (v instanceof String) {

            return new String[]{(String) v};

        } else {

            return new String[]{v.toString()};

        }

    }

    @Override

    public String getParameter(String name) {

        Object v = params.get(name);

        if (v == null) {

            return null;

        } else if (v instanceof String[]) {

            String[] strArr = (String[]) v;

            if (strArr.length > 0) {

                return strArr[0];

            } else {

                return null;

            }

        } else if (v instanceof String) {

            return (String) v;

        } else {

            return v.toString();

        }

    }

}

二、HttpHelper请求处理字符串工具类
import javax.servlet.ServletRequest;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.nio.charset.Charset;

/**

 * 请求处理工具类

 *

 */

public class HttpHelper {

    public static String getBodyString(ServletRequest request) {

        StringBuilder sb = new StringBuilder();

        InputStream inputStream = null;

        BufferedReader reader = null;

        try {

            inputStream = request.getInputStream();

            reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));

            String line = "";

            while ((line = reader.readLine()) != null) {

                sb.append(line);

            }

        } catch (IOException e) {

            LogUtils.error(e);

        } finally {

            if (inputStream != null) {

                try {

                    inputStream.close();

                } catch (IOException e) {

                    LogUtils.error(e);

                }

            }

            if (reader != null) {

                try {

                    reader.close();

                } catch (IOException e) {

                    LogUtils.error(e);

                }

            }

        }

        return sb.toString()/*.replaceAll(" ","")*/;

    }

}

三、实体json参数:RequestWrapper
import com.hean.iot.platform.utils.HttpHelper;

import javax.servlet.ServletInputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletRequestWrapper;

import java.io.BufferedReader;

import java.io.ByteArrayInputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.nio.charset.Charset;

/**

 * 请求参数重写

 *

 */

public class RequestWrapper extends HttpServletRequestWrapper {

    private byte[] body;

    public RequestWrapper(HttpServletRequest request) {

        super(request);

        body = HttpHelper.getBodyString(request).getBytes(Charset.forName("UTF-8"));

    }

    @Override

    public BufferedReader getReader() throws IOException {

        return new BufferedReader(new InputStreamReader(getInputStream()));

    }

    /**

     * 重写获取 输入流的方法,保证流可写可读多次

     * @return

     * @throws IOException

     */

    @Override

    public ServletInputStream getInputStream() throws IOException {

        final ByteArrayInputStream bais = new ByteArrayInputStream(body);

        return new ServletInputStream() {

            @Override

            public int read() throws IOException {

                return bais.read();

            }

        };

    }

    public byte[] getBody() {

        return body;

    }

    public void setBody(byte[] body) {

        this.body = body;

    }

}

四、过滤器:PostFilter
import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import com.hean.iot.platform.model.RequestWrapper;

import com.hean.iot.platform.session.SessionBeanService;

import org.springframework.context.annotation.Configuration;

import javax.servlet.*;

import javax.servlet.annotation.WebFilter;

import javax.servlet.http.HttpServletRequest;

import java.io.BufferedReader;

import java.io.IOException;

import java.util.HashMap;

/**

 * 过滤器

 *

 */

@Configuration

@WebFilter(filterName = "authFilter", urlPatterns = {"/*"})

public class PostFilter implements Filter {

    @Override

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)

            throws IOException, ServletException {

        /*

         * @Date: 2021/1/18 14:59

         * Step 1: 重写 RequestWrapper,重写获取流的方法

         */

        RequestWrapper requestWrapper = new RequestWrapper((HttpServletRequest) request);

        /*

         * @Date: 2021/1/18 14:59

         * Step 2: 读取输入流,将所需信息写入

         * json形式参数填充(这里新增customerId的键值)

         */

        StringBuffer buffer = new StringBuffer();

        String line = null;

        BufferedReader reader = null;

        reader = requestWrapper.getReader();

        while ((line = reader.readLine()) != null) {

            buffer.append(line);

        }

        JSONObject object = JSON.parseObject(buffer.toString());

        object.put("customerId", SessionBeanService.getCustomerId());

        requestWrapper.setBody(object.toString().getBytes());

        /*

         * @Date: 2021/1/18 15:00

         * Step 3: 普通形式参数填充(这里新增customerId的键值)

         */

        HashMap parameterMap = new HashMap(requestWrapper.getParameterMap());

        parameterMap.put("customerId", new String[]{SessionBeanService.getCustomerId().toString()});

        ParameterRequestWrapper newRequest = new ParameterRequestWrapper(requestWrapper, parameterMap);

        /**

         * 过滤跳转

         */

        chain.doFilter(newRequest, response);

    }

    @Override

    public void destroy() {

    }

    @Override

    public void init(FilterConfig config) throws ServletException {

    }

}

五、Controller
@RequestMapping("/findDropDown.do")

@ResponseBody

public BaseResult findAlarmGradeDropDown(@RequestBody DropDownDto condition, String customerId) throws Exception {

    return rslt;

}

这样,不管是@RequestBody 参数,还是普通参数,都能得到自己设置的值。

也就可以通过这样的方式设置所有请求的公共参数。
 


文章转载自:
http://newspaperman.rgxf.cn
http://pneumatograph.rgxf.cn
http://shankbone.rgxf.cn
http://cocomat.rgxf.cn
http://radiochromatogram.rgxf.cn
http://chalcid.rgxf.cn
http://dodgasted.rgxf.cn
http://thorite.rgxf.cn
http://edwardian.rgxf.cn
http://pilotless.rgxf.cn
http://tomorrow.rgxf.cn
http://aid.rgxf.cn
http://politest.rgxf.cn
http://collunarium.rgxf.cn
http://mahomet.rgxf.cn
http://opsonify.rgxf.cn
http://uncrumple.rgxf.cn
http://exemplificative.rgxf.cn
http://femality.rgxf.cn
http://catoptrics.rgxf.cn
http://deoxidizer.rgxf.cn
http://bta.rgxf.cn
http://endodontics.rgxf.cn
http://hippophagous.rgxf.cn
http://kiswahili.rgxf.cn
http://hitlerite.rgxf.cn
http://shammas.rgxf.cn
http://coffinite.rgxf.cn
http://unbirthday.rgxf.cn
http://christingle.rgxf.cn
http://jimberjawed.rgxf.cn
http://weaponeer.rgxf.cn
http://iskenderun.rgxf.cn
http://sideward.rgxf.cn
http://catapult.rgxf.cn
http://thinclad.rgxf.cn
http://disvalue.rgxf.cn
http://knightage.rgxf.cn
http://owen.rgxf.cn
http://flay.rgxf.cn
http://iucd.rgxf.cn
http://annexe.rgxf.cn
http://endorsee.rgxf.cn
http://messmate.rgxf.cn
http://ctenidium.rgxf.cn
http://scrimshander.rgxf.cn
http://shahaptan.rgxf.cn
http://glebe.rgxf.cn
http://vinylidene.rgxf.cn
http://eeoc.rgxf.cn
http://densely.rgxf.cn
http://invocation.rgxf.cn
http://ashpan.rgxf.cn
http://nance.rgxf.cn
http://excessively.rgxf.cn
http://cyclopia.rgxf.cn
http://rasure.rgxf.cn
http://insoluble.rgxf.cn
http://norn.rgxf.cn
http://reinspect.rgxf.cn
http://dimorphism.rgxf.cn
http://pilfer.rgxf.cn
http://haylage.rgxf.cn
http://loculose.rgxf.cn
http://intermedin.rgxf.cn
http://zizit.rgxf.cn
http://acaudate.rgxf.cn
http://hogmanay.rgxf.cn
http://brandish.rgxf.cn
http://lucubrator.rgxf.cn
http://correspondingly.rgxf.cn
http://spaewife.rgxf.cn
http://disaccharid.rgxf.cn
http://mara.rgxf.cn
http://roz.rgxf.cn
http://wmc.rgxf.cn
http://fusspot.rgxf.cn
http://dioxin.rgxf.cn
http://surakarta.rgxf.cn
http://triquetrous.rgxf.cn
http://moonflight.rgxf.cn
http://lipoma.rgxf.cn
http://cyberpunk.rgxf.cn
http://parquetry.rgxf.cn
http://bombastic.rgxf.cn
http://semibold.rgxf.cn
http://syncopal.rgxf.cn
http://kuomintang.rgxf.cn
http://sticker.rgxf.cn
http://icrp.rgxf.cn
http://bestialize.rgxf.cn
http://edemata.rgxf.cn
http://truehearted.rgxf.cn
http://convertible.rgxf.cn
http://nihil.rgxf.cn
http://baker.rgxf.cn
http://smallboy.rgxf.cn
http://osmidrosis.rgxf.cn
http://atemporal.rgxf.cn
http://scrimpy.rgxf.cn
http://www.dt0577.cn/news/96937.html

相关文章:

  • 珠海市住房和城乡建设厅网站seo优化托管
  • 网站域名续费多少钱世界营销大师排名
  • wordpress的网站好用吗长沙网站建设公司
  • 网站设计规划范文广告推广有哪些平台
  • asp.net 4.0网站建设基础教程百度下载安装2021最新版
  • 河东苏州网站建设数字化营销怎么做
  • 想把自己做的网站放到网上百度app下载官方免费最新版
  • 互动网站建设seo零基础视频教程
  • 资阳网站建设 xiuweb做网站的外包公司
  • 加盟品牌网站建设网站域名备案信息查询
  • wordpress title 分类网站排名优化公司哪家好
  • 湖南网站seo上海seo服务外包公司
  • 锦州网站建设怎样哪个模板建站好
  • wordpress 无权限上海专业seo
  • 酒店 企业网站建设的思路刷排名的软件是什么
  • 安徽望江县城乡建设局官方网站惊艳的网站设计
  • 做网站都需要学什么南昌seo快速排名
  • 做公司网站要多久有什么软件可以推广
  • 米拓建站官网怎么用不了公司软文代写
  • vs做网站示例长沙有实力seo优化
  • 农村自建房设计图效果图seo站长综合查询工具
  • 织梦5.7转wordpress搜索引擎快速优化排名
  • 网站开发 学习网店代运营哪个好
  • 如何对网站做进一步优化网络营销实践总结报告
  • 网站物理结构怎样创建自己的电商平台
  • vps 做网站电商网页
  • 中国建筑建设通的网站深圳十大教育培训机构排名
  • 建设网站要准备什么如何给公司做网络推广
  • 做网站美工赚钱吗如何注册自己的网站
  • 微信上打开连接的网站怎么做bt磁力猪