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

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

      中文乱码问题:

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

          post方法:会乱码

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

 

复制代码
package com.example.day14_servlethttprequest.request;


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;

@WebServlet("/requestDemo7")
public class RequestDemo7 extends HttpServlet {


    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, UnsupportedEncodingException {

        this.doPost(request,response);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, UnsupportedEncodingException {
        //1.设置流的编码
        request.setCharacterEncoding("utf-8");
        //获取请求参数username
        String username = request.getParameter("username");

        System.out.println(username);



    }
}
复制代码

 

 

Request_请求转发

 

 

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

      1.步骤:

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

          2. 使用RequestDispatcher对象来进行转发:forward(ServletRequest request, ServletResponse response)

      2. 特点:

          1. 浏览器地址栏路径不发生变化
          2. 只能转发到当前服务器内部资源中。
          3. 转发是一次请求

RequestDemo8
复制代码
package com.example.day14_servlethttprequest.request;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/RequestDemo8")
public class RequestDemo8 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("我的爱好是,篮球,唱跳,rap");
        //转发到demo9资源
        request.getRequestDispatcher("/RequestDemo9").forward(request,response);
        //request.getRequestDispatcher("http://www.itcast.cn").forward(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.doPost(request,response);
    }
}
复制代码
RequestDemo9
复制代码
package com.example.day14_servlethttprequest.request;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/RequestDemo9")
public class RequestDemo9 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("我是练习了两年半的练习生,我叫蔡徐坤");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.doPost(request,response);
    }
}
复制代码

 

posted @   zj勇敢飞,xx永相随  阅读(107)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示