Request_获取请求参数中文乱码问题处理以及请求转发
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、转发是一次请求
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix