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 @ 2023-01-30 16:53  zj勇敢飞,xx永相随  阅读(104)  评论(0编辑  收藏  举报