首页 > 其他分享 >Request_获取请求参数中文乱码问题处理以及请求转发

Request_获取请求参数中文乱码问题处理以及请求转发

时间:2022-12-04 19:11:38浏览次数:45  
标签:请求 Request request HttpServletResponse 乱码 转发 Override response

Request_获取请求参数中文乱码问题处理

中文乱码问题:

  get方式:tomcat 8 已经将get方式乱码问题解决了

  post方式:会乱码

    解决:在获取参数前,设置request的编码:request.setCharacterEncoding("utf-8");

@WebServlet(name = "RequestDemo7", value = "/RequestDemo7")
public class RequestDemo7 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置编码
        request.setCharacterEncoding("utf-8");

//        post获取请求参数
        String username = request.getParameter("username");

        System.out.println(username);
    }
}

 

 

 

Request_请求转发

请求转发:一种在服务器内部的资源跳转方式

  1.步骤:

    1、通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path);

    2、使用RequestDispatcher对象来进行转发:forward(ServletRequest request,Response response);

demo8

@WebServlet(name = "RequestDemo8", value = "/RequestDemo8")
public class RequestDemo8 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("demo8....被访问了");
        //转发到demo9资源
        /*RequestDispatcher requestDispatcher = request.getRequestDispatcher("/RequestDemo9");
        requestDispatcher.forward(request, response);*/
        //链式编程
        request.getRequestDispatcher("/RequestDemo9").forward(request, response);
    }
}

demo9

@WebServlet(name = "RequestDemo9", value = "/RequestDemo9")
public class RequestDemo9 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("demo9....也被访问了");
    }
}

 

特点:

 1、浏览器地址栏路径不会发生变化  

  2、只能转发到当前服务器内部资源中

  3、转发是一次请求

标签:请求,Request,request,HttpServletResponse,乱码,转发,Override,response
From: https://www.cnblogs.com/qihaokuan/p/16950436.html

相关文章

  • django学习笔记-请求与响应
    1.请求与响应deftest(request):#获取请求方法print(request.method)#获取get的url请求参数print(request.GET)#获取post请求体参数pri......
  • Request_获取请求参数通用方式介绍以及方式演示
    Request_获取请求参数通用方式介绍以及方式演示获取请求参数通用方式:无论get还是post请求方式都可以使用下列方法来获取请求参数1.StringgetParameter(Stringname......
  • nodejs express报错request entity too large
    今天在做上传图的功能时遇到报错413PayloadTooLarge; expressdeprecatedres.send(status):Useres.sendStatus(status)insteadindex.js:18:13PayloadTooLargeErr......
  • springboot03(请求和响应)
    一、@RequestMapping("/user"):请求映射路径的解析:总结:一个"公共"的请求路径"前缀"1.1代码块解析:有@RequestMapping("/user")和@RequestMapping("/save")/@Reques......
  • Request_请求头数据以及请求体的数据
    Request_请求头数据以及请求体的数据获取请求头数据方法:1.(*)StringgetHeader(Stringname):通过请求头的名称获取请求头的值2.Enumeration<Strin......
  • Request_获取请求行数据_方法介绍以及代码演示
    Request_获取请求行数据_方法介绍以及代码演示request功能:获取请求消息获取请求行数据GET/demo3?name=zhangsanHTTP/1.1......
  • vim编辑器中文乱码修复
    Vim是老式UNIX编辑器Vi的大幅改进版本。新增功能:多级撤消、语法高亮、命令行历史记录、在线帮助、拼写检查、文件名补全、块操作、脚本语言等。还有一个图形用户界面(GUI......
  • c++ - win开发环境控制台打印中文乱码-解决
    1.背景 win开发环境需要在控制台打印一些内容,发现是中文乱码2.解决再打印前,使用  windows.h包的  SetConsoleOutputCP方法,更改编码格式#include<windows.h>......
  • Spring MVC请求地址映射详解:HandlerMapping
    1HandlerMapping介绍HandlerMapping是SpringMVC的核心组件之一,用来保存request-handler之间的映射。简单来说,request指的是请求地址(还包括请求方法等),handler指的是Cont......
  • prefilght请求由来
    工作中配置监控报警参数时,发现请求接口是有两次。第一个是preflight请求,第二个是正常请求,如图:观察preflight方法是options,然后是正常的请求(post)因此了解下什么是prefligh......